-3

我试图让我的 actionPerformed 使用 Timer 类循环通过另一个类的方法,这样做将重新绘制我的对象并看起来好像它正在屏幕上移动。我添加了一个 System.out.println 语句来查看 actionPerformed 是否正在触发。正在显示文本,但对象似乎没有在屏幕上移动,不确定我做错了什么:\ 任何人都可以阐明什么是不正确的吗?

//这是我的球类,我把它做成了一个数组。timer.start() 在构造函数中

public void actionPerformed (ActionEvent e)
{
    for(int i = 0; i < bl.length; i++)
    {
    bl[i].move();
    System.out.println("Fired");
    repaint();
    }
}

//这是我的移动类,用于在屏幕上移动对象,x=0 和 move =5。

public void move()
{
    x = x + move;
}
4

1 回答 1

1

在您的move()方法中,您尝试添加一个名为movetoxmove既未定义也未传递的变量。尝试这个:

bl[i].move(5,0);

public int move(int move,int x)
{
x += move;
return x;
}

编辑:说到这,x也没有定义或通过。我已经编辑了代码。

于 2013-06-01T09:12:45.390 回答