Я кодирую игру «Саймон», и у меня возникли проблемы с выяснением того, как использовать runnables и обработчики. Это для той части игры, где цвета загораются в шаблоне последовательности, прямо перед тем, как игрок должен нажать кнопки.Кодирование «Simon» для Android; Трудно приостановить код
Это код, который я до сих пор:
Handler handler = new Handler();
Runnable g = new Runnable() {
@Override
public void run() {
setBtnBackGround(oldColors[0], 10, mButtons[0]);
}
};
Runnable r = new Runnable() {
@Override
public void run() {
setBtnBackGround(oldColors[1], 10, mButtons[1]);
}
};
Runnable y = new Runnable() {
@Override
public void run() {
setBtnBackGround(oldColors[2], 10, mButtons[2]);
}
};
Runnable b = new Runnable() {
@Override
public void run() {
setBtnBackGround(oldColors[3], 10, mButtons[3]);
}
};
также:
for (int i = 0; i < mGame.getLevel(); i++) {
int color = colors.get(i);
setBtnBackGround(newColors[color], 10, mButtons[color]);
if (color == 0) {
handler.postDelayed(g, 1000);
} else if (color == 1) {
handler.postDelayed(r, 1000);
} else if (color == 2) {
handler.postDelayed(b, 1000);
} else {
handler.postDelayed(y, 1000);
}
}
Кнопки все легкие в то же самое время, так как, я думаю, все они размещены один после другого в «последовательности сообщений»? Как я могу использовать runnables/handles для разнесения разметки?
Большое спасибо, ребята!