如何解决让 2048 游戏更快
有没有办法让我的 2048 游戏运行得更快?
我做了一个叫做高速模式的设置,这样如果移动速度非常快,我就会跳过生成、组合和移动动画,但是即使如此,当我向一堆垃圾发送垃圾邮件时,我通常仍然落后一两个移动键一次。
现在我有一个 tilePanel 类来处理显示我的图块,并使用带有paintComponent(不断绘制图块)的计时器(非常基本的代码)来确保它不断更新板。
public void doAnimation() {
System.nanoTime();
Timer timer = new Timer(2,this);
timer.start();
}
我构建游戏的方式是我有一个命令数组列表(即按右键将“正确”添加到数组列表中,最终数组列表获取并执行)我收到以确保它总是这样做一个移动,在执行序列中的下一个移动之前生成。
为了确保电路板不断自我更新,我制作了一个非常基本的运行线程:
public void run(){
while(true) {
if(canDoNewMove&&commands.size()>0&&parent.spawnsLeft==0) {
move(commands.get(0));
commands.remove(0);
canDoNewMove=false;
}
if(commands.size()>=2) {
board.isBehind=true;
}
else {
board.isBehind=false;
}
if(totalMovements==0&&moveDone) {
moveDone=false;
if(parent.changed) {
parent.spawn(parent);
}
canDoNewMove=true;
}
//moveDone=false;
try {
Thread.sleep(0);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}};
Thread sampleThread = new Thread(backGroundRunnable);
sampleThread.start();
}
减少方法调用是否会产生足够明显的差异,以便在我按下键后立即完成操作,或者是绘制板的 tilePanel 类中的问题?
谢谢各位
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。