为Android编码“ Simon”;难以暂停代码

bluexmarker

我正在编写游戏“ Simon”,并且在弄清楚如何使用可运行对象和处理程序时遇到了一些麻烦。这是游戏的一部分,在玩家必须按下按钮之前,颜色会以顺序模式点亮。

这是我到目前为止的代码:

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);   
    }
}

所有按钮都同时点亮,因为我猜它们都在“消息序列”上一个接一个地放置了吗?我将如何使用可运行物体/手柄来分隔照明灯?

非常感谢你们!

霸王龙

所有按钮同时亮起的原因是,您for循环遍历了所有的值,i而不必等待它们之间的所有时间。

所以它有效地调用

//start loop
//i = 0
handler.postDelayed(g, 1000);
...
//i = 1
handler.postDelayed(r, 1000);
...
//i = mGame.getLevel()-1
handler.postDelayed(b, 1000);
//end loop

都在同一时间。

本身没有队列,因此您需要根据自己所在的位置来增加延迟,以自行i完成。试试这个:

int LIGHT_DURATION = 1000;

for (int i = 0; i < mGame.getLevel(); i++) {
    int color = colors.get(i);
    int delay = LIGHT_DURATION*i;
    setBtnBackGround(newColors[color], 10, mButtons[color]);
    if (color == 0) {
        handler.postDelayed(g, delay);
    } else if (color == 1) {
        handler.postDelayed(r, delay);
    } else if (color == 2) {
        handler.postDelayed(b, delay);
    } else {
        handler.postDelayed(y, delay);   
    }
}

我不确定setBtnBackGround(newColors[color], 10, mButtons[color]);均值/参数什么,但是我使用上面添加的代码的方式如下:

  1. 通过上面的for循环添加所有延迟的处理程序,并传递颜色
  2. 在每个处理程序中,将所有按钮设置回默认值,并将选定的颜色按钮设置为正确的颜色

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于将数字编码为字母代码的 Android 应用程序

来自分类Dev

为Android编码视频

来自分类Dev

将Spotify URI编码为Spotify代码

来自分类Dev

Android代码:我已经为YouTube URL进行了编码,但是无法在我的应用程序中播放视频

来自分类Dev

使用Proguard编码android代码时出错

来自分类Dev

如何在Android中重新编码视频时添加暂停和恢复功能

来自分类Dev

难以理解if语句代码

来自分类Dev

难以理解BFS代码

来自分类Dev

难以纠正执行代码

来自分类Dev

我为班级编写了此汉明编码代码。为什么这么慢?

来自分类Dev

如何在 MIPS 机器代码中将负数转换/编码为立即数

来自分类Dev

将HttpEntity解码为android字符串-编码问题

来自分类Dev

将音频编码为AAC会产生较慢的音频-Android

来自分类Dev

将HttpEntity解码为android字符串-编码问题

来自分类Dev

从源代码为Android构建Cordova插件

来自分类Dev

JS:如何将image.png编码为base64代码以进行数据URI嵌入?

来自分类Dev

输入为Surface的Media Codec API无法与H264编码器一起使用(bigflake示例代码)

来自分类Dev

JS:如何将image.png编码为base64代码以进行数据URI嵌入?

来自分类Dev

如何编码为YAML?

来自分类Dev

如何暂停动画代码?

来自分类Dev

编码代码点

来自分类Dev

连接到MS Access的Eclipse难以想象的编码行为

来自分类Dev

Android Studio:布局难以理解

来自分类Dev

phonegap:在Android 2.3上无法将图像编码为base64

来自分类Dev

使用zxing在Android项目中将字符串QR编码为图像

来自分类Dev

Android:Jcodec:将图像文件编码为.mp4视频

来自分类Dev

如何从UIImagePickerController将iOS视频编码为.mp4,以便Android设备可以播放它们?

来自分类Dev

从PHP将任意字符编码为json数组,并在Android中使用它们

来自分类Dev

如何在UTF-8中为Android中的不同字符集进行编码

Related 相关文章

  1. 1

    用于将数字编码为字母代码的 Android 应用程序

  2. 2

    为Android编码视频

  3. 3

    将Spotify URI编码为Spotify代码

  4. 4

    Android代码:我已经为YouTube URL进行了编码,但是无法在我的应用程序中播放视频

  5. 5

    使用Proguard编码android代码时出错

  6. 6

    如何在Android中重新编码视频时添加暂停和恢复功能

  7. 7

    难以理解if语句代码

  8. 8

    难以理解BFS代码

  9. 9

    难以纠正执行代码

  10. 10

    我为班级编写了此汉明编码代码。为什么这么慢?

  11. 11

    如何在 MIPS 机器代码中将负数转换/编码为立即数

  12. 12

    将HttpEntity解码为android字符串-编码问题

  13. 13

    将音频编码为AAC会产生较慢的音频-Android

  14. 14

    将HttpEntity解码为android字符串-编码问题

  15. 15

    从源代码为Android构建Cordova插件

  16. 16

    JS:如何将image.png编码为base64代码以进行数据URI嵌入?

  17. 17

    输入为Surface的Media Codec API无法与H264编码器一起使用(bigflake示例代码)

  18. 18

    JS:如何将image.png编码为base64代码以进行数据URI嵌入?

  19. 19

    如何编码为YAML?

  20. 20

    如何暂停动画代码?

  21. 21

    编码代码点

  22. 22

    连接到MS Access的Eclipse难以想象的编码行为

  23. 23

    Android Studio:布局难以理解

  24. 24

    phonegap:在Android 2.3上无法将图像编码为base64

  25. 25

    使用zxing在Android项目中将字符串QR编码为图像

  26. 26

    Android:Jcodec:将图像文件编码为.mp4视频

  27. 27

    如何从UIImagePickerController将iOS视频编码为.mp4,以便Android设备可以播放它们?

  28. 28

    从PHP将任意字符编码为json数组,并在Android中使用它们

  29. 29

    如何在UTF-8中为Android中的不同字符集进行编码

热门标签

归档