会动的hellokitty源代码
时间: 2023-10-30 09:03:39 浏览: 183
动的Hello Kitty是由Java语言编写的源代码,其实现了一个简单的动画效果。以下是示例代码:
```java
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class HelloKitty extends JPanel {
private static final long serialVersionUID = 1L;
private Image helloKittyImage;
private int x, y;
private int deltaX = 1, deltaY = 1;
public HelloKitty() {
helloKittyImage = Toolkit.getDefaultToolkit().getImage("hellokitty.gif"); // 图片的路径
x = y = 10; // 初始坐标
this.setBackground(Color.WHITE);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(helloKittyImage, x, y, this); // 绘制Hello Kitty图像
}
public void move() {
x += deltaX; // 在x轴上移动
y += deltaY; // 在y轴上移动
// 当Hello Kitty碰到窗口边界时,改变移动的方向
if (x <= 0 || x >= getWidth() - helloKittyImage.getWidth(null)) {
deltaX *= -1;
}
if (y <= 0 || y >= getHeight() - helloKittyImage.getHeight(null)) {
deltaY *= -1;
}
repaint(); // 重绘面板
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("动的Hello Kitty");
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
HelloKitty helloKitty = new HelloKitty();
frame.add(helloKitty);
frame.setVisible(true);
while (true) {
helloKitty.move(); // 不断移动Hello Kitty
try {
Thread.sleep(10); // 控制移动的速度
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
```
这段代码创建了一个继承自JPanel的HelloKitty类,用于绘制和移动Hello Kitty图像。在主函数中创建一个JFrame窗口,将HelloKitty实例添加到窗口中,并通过循环调用move()方法不断地移动Hello Kitty,每次移动后通过repaint()方法重绘面板,从而实现动画效果。
阅读全文