[英]How to start my program when I click start (button in frame) and slow it down so the loop isn't to fast?
我正在创建一个赛车游戏,在我的游戏中我有 2 帧。 一是开始屏幕,二是比赛将在哪里进行。 我有一个按钮可以将我带到我的第二帧。 但是我遇到的问题是,当我启动程序时,赛车代码将开始执行。 我目前的解决方案是在第二帧上设置另一个按钮来启动代码,但是当我这样做时,汽车将传送到终点线而不会减速。
这是我用来玩汽车的代码
play.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int r1 = 0;
int r2 = 0;
do {
//car random num
r1 = r1 + (int) (Math.random() * 10);
r2 = r2 + (int) (Math.random() * 10);
r3 = r3 + (int) (Math.random() * 10);
r4 = r4 + (int) (Math.random() * 10);
r5 = r5 + (int) (Math.random() * 10);
//car1
car1.setBounds((r1), (115), car1.getPreferredSize().width, car1.getPreferredSize().height);
//car2
car2.setBounds((r2), (165), car2.getPreferredSize().width, car2.getPreferredSize().height);
});
我曾尝试使用Thread.Sleep(_;
但它不起作用。
尝试将 Thread.sleep() 放在您的 actionPerformed 方法之前和 try / catch 中,如下所示:
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
而你的 do / while 没有 while 条件?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.