本人想做一个微信音游小游戏,但是做的时候发现以我目前掌握的只是不能一直在一个固定的时间节点产生音符,我现在想到的方法如下:
以在1.6秒产生一个音符为例,在1.6s与1.6+0.05s之间检测update第一次得到的超过1.6s的时间,在这个时间中做出产生音符的动作,然后在1.65s后再设置一个时间段来让temp这个变量归零。
var temp=0;
cc.Class({
extends: cc.Component,
update(dt){
var timeNow=cc.audioEngine.getCurrentTime(BGM_id);
if(timeNow>1.6&&timeNow<1.6+0.05){
temp++;
if(temp===1){
//产生音符动作的代码在这里写
}
}
if(timeNow>1.6+0.05&&timeNow<1.6+0.05+0.05)
{
temp=0;
}
}
});
缺点是占用了0.1s(两个固定时间段,上面例子中固定时间段设为0.05)的时间,而且如果很多音符在在一个密集的时间段中出现的话要创建很多作用与temp相同的变量,应该会很麻烦。请问大家有没有比较优秀的方法能实现这个功能?