gpt4 book ai didi

java - 图像上的简单动画存在问题

转载 作者:行者123 更新时间:2023-12-01 21:37:10 25 4
gpt4 key购买 nike

我目前正在尝试制作一个图像(alien.png)在屏幕上随机移动,一旦撞到墙壁就会回来。事实上,我在这方面遇到了很多麻烦,我只是找不到上传图像并使其弹跳的方法。这是我到目前为止所拥有的,但我遇到了很多错误

package animationdemo;


import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class AnimationDemo extends JFrame {
public AnimationDemo() {

Image alien;
alien = ToolKit.getDefaultToolkit().getImage("alien.png");
Timer timer = new Timer(50, this);
timer.start();
}
public static void main(String[] args) {
AnimationDemo frame = new AnimationDemo();
frame.setTitle("AnimationDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
}
}

class MovingMessagePanel extends JPanel implements ActionListener {
public int xCoordinate = 20;
public int yCoordinate = 20;
public int xDir=5;
public int yDir=5;


public void actionPerformed(ActionEvent e) {
repaint();
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);

if (xCoordinate > getWidth()) xDir*=-1;
if (yCoordinate > getHeight()) yDir*=-1;
if (xCoordinate <0) xDir*=-1;
if (yCoordinate <0) yDir*=-1;
xCoordinate += xDir;
yCoordinate += yDir;
g.drawImage(alien,xCoordinate,yCoordinate,this);
}
}

这是我遇到的一些错误

AnimationDemo.java:18: error: cannot find symbol
alien = ToolKit.getDefaultToolkit().getImage("alien.png");
^
symbol: variable ToolKit
location: class AnimationDemo
AnimationDemo.java:19: error: incompatible types: AnimationDemo cannot be converted to ActionListener
Timer timer = new Timer(50, this);
^
AnimationDemo.java:52: error: cannot find symbol
g.drawImage(alien,xCoordinate,yCoordinate,this);
^
symbol: variable alien
location: class MovingMessagePanel
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
3 errors

我只是不确定为什么它找不到工具包,即使我导入了它,我也不知道为什么它无法识别 g.drawImage 上的外星人 png

最佳答案

这些错误是不言自明的:

AnimationDemo.java:18: error: cannot find symbol
alien = ToolKit.getDefaultToolkit().getImage("alien.png");
^
symbol: variable ToolKit
location: class AnimationDemo

您的 Toolkit 大写错误。您必须精确且小心,以避免这些错误。

AnimationDemo.java:19: error: incompatible types: AnimationDemo cannot be converted to ActionListener
Timer timer = new Timer(50, this);
^

AnimationDemo 类没有实现 ActionListener,因此您不能这样使用它。

AnimationDemo.java:52: error: cannot find symbol
g.drawImage(alien,xCoordinate,yCoordinate,this);
^
symbol: variable alien
location: class MovingMessagePanel

外来变量在程序中不可见,因为它是在构造函数或方法中声明的,而不是在类中声明的。

关于java - 图像上的简单动画存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com