Quantcast
Channel: Cocos中文社区 - 最新帖子
Viewing all articles
Browse latest Browse all 494966

请教一个渲染的问题

$
0
0

不用多个schedule。你把要切换的灯想像成一个队列,每隔0.1秒检查一下这个队列有没有未显示的灯,有的话显示出来。

demoStart: function() {
    var interval = 0.1; // 0.1秒检查一次
    common.lights = []; // 初始灯的队列数组,假设还没有灯
    common.num = 0; // 初始加载第0盏
    this.schedule(this.nextLed, interval);
    // 如果第一帧就要加载灯的话,在这里执行一次this.nextLed();否则会在interval后加载第一个灯
},
nextLed: function() {
    // 如果当前要加载的灯(common.num),在灯数组中存在
    if (common.num < common.lights.length) {
        // 点亮这盏灯
        common.onLeds();
        // 准备点亮下一盏灯
        common.num++;
        console.log("这个是第" + common.num + "盏灯");
    }
}

这样这个schedule就会每0.1秒检查一次你的common.lights,你要做的就是在你代码中任何想亮灯的地方,common.lights.push(light)添加一盏灯到灯队列里面,就可以了。


Viewing all articles
Browse latest Browse all 494966

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>