gpt4 book ai didi

java - Android小游戏-延迟代码

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:26 26 4
gpt4 key购买 nike

第一次在android studio中编程,正在尝试制作认知测试数字跨度的最小可行产品。这个想法是,每隔 X 秒向您显示一个数字,当显示所有数字时,您需要按照它们出现的顺序输入正确的数字。如果你是对的,下一次运行的数字数量就会增加。

我遇到的问题是我想对弹出的数字施加延迟。我尝试过使用处理程序,但没有成功并且没有想法。

这是一个手工制作的小示例,代码未按预期工作:

 handler.post(new Runnable() {
@Override
public void run() {
if(counter < difficulty) {
numberText.setText(numbersArray.get(counter) + "");
counter += 1;
handler.postDelayed(this, 600);
}else{
handler.removeCallbacks(this);
}
}
});

问题在于,当处理程序延迟时,其余代码仍在运行。我想要的是整个代码在继续之前延迟 X 秒。 处理程序的另一个问题是您无法访问处理程序之外的非最终变量,因此计数器对我不起作用。

希望这只是我的白痴,并且有一个简单的解决方案可以解决我的问题。

编辑:当我在这里时,是否有可能在另一个延迟中出现延迟?只是为了让我将来知道。

最佳答案

The problem is that the rest of the code keeps running while the handler is delayed

将您想要延迟的所有代码移动到一个方法中,并根据您的要求从运行器中调用该方法。

Another problem with handlers are that you can't acces variables that aren't final outside the handler, so counters aren't working for me.

您可以将计数器变量定义为全局类字段,然后您可以从类内的任何位置访问它,而无需将其声明为最终变量。

关于java - Android小游戏-延迟代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43227630/

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