【发布时间】:2014-03-28 20:25:59
【问题描述】:
我正在 Android 中制作一个游戏,它有 1 个 ImageView 和 4 个图像和按钮。我设置了 ImageView 以便在其中放置一个随机图像,并在经过这么长时间后显示一个新的随机图像。我需要找到一种方法来延迟更改不锁定 UI 的图像。这是相关的代码。
public class MainGameActivity extends Activity {
int points = 0, score = 0, timer = 1000;
ImageView imgView = (ImageView)findViewById(R.id.image);
Random randy = new Random();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_game_activity);
while(points >= 0) {
changeImage();
//Timer goes here
}
}
private void changeImage() {
int randyInt = randy.nextInt(4);
if (randyInt == 0){
imgView.setImageDrawable(getResources().getDrawable(R.drawable.cheese));
} else if (randyInt == 1) {
imgView.setImageDrawable(getResources().getDrawable(R.drawable.worm1));
} else if (randyInt == 2) {
imgView.setImageDrawable(getResources().getDrawable(R.drawable.worm2));
} else if (randyInt == 3) {
imgView.setImageDrawable(getResources().getDrawable(R.drawable.minnow));
}
}
}
4 个按钮使用与 ImageView 相同的可绘制对象。当按下按钮时,ImageView 中的可绘制对象和图像按钮中的可绘制对象被检查是否等效,因此 UI 仍然必须工作,而包含更改 ImageView 可绘制对象的暂停的 while 循环仍在运行。感谢您提供的任何帮助。
【问题讨论】:
标签: android