我可能做错了,所以请保持友好。我正在开发Java游戏,并且处于测试角色移动/动画的阶段。
“人”可以在网格上左右移动。绘制网格的类是gamePanel类。这些按钮在gameControlPanel类中。
我有一个按钮,可以在网格上生成一个人。然后,我有一个按钮可以左右移动该人。
当按下上移按钮时,它将从人员类中调用上移方法。(目前,我一次只测试一个“人”。)在该方法中是以下代码…
int move = 10;
while(move!=0)
{
setTopLeftPoint(new Point((int)getTopLeftPoint().getX(),
(int)getTopLeftPoint().getY() - 3));
try
{
Thread.sleep(300);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
move-=1;
}
问题是我似乎无法从Person类中调用gamePanel类的repaint方法。为了解决这个问题,我在gamePanel类中创建了一个计时器,该计时器每20ms重绘一次。
生成人后,当我按向上按钮时,该按钮一直保持按下状态,直到while循环的循环完成为止,然后该人的圆圈表示显示在上方的网格正方形中。
我将尝试回答有关此的任何问题。