
有关JavaScript setInterval的问题,求大神
想写个游戏,给子弹弄个定时器。可这里的setinterval死活调不起来?(这是在类里面的方法)。也没有什么错误提示,单独执行里面的函数就没问题。下边是我想要重复执行的函...
想写个游戏,给子弹弄个定时器。可这里的setinterval死活调不起来?(这是在类里面的方法)。也没有什么错误提示,单独执行里面的函数就没问题。
下边是我想要重复执行的函数(子弹类里面的)
调了半天了,没一点头绪。 求大神能不能给个思路。。。 展开
下边是我想要重复执行的函数(子弹类里面的)
调了半天了,没一点头绪。 求大神能不能给个思路。。。 展开
1个回答
展开全部
setinterval这个第一个参数里的this不是指向你希望的那个对象,你换种调用思路,把this用一个对象传进去,像这样试试:
var o = this;
setinterval(o.bullet[o.bulletNumber].run,1000);
还不行那试试这个:
setinterval(function(){ o.bullet[o.bulletNumber].run(); },1000);
试试~
var o = this;
setinterval(o.bullet[o.bulletNumber].run,1000);
还不行那试试这个:
setinterval(function(){ o.bullet[o.bulletNumber].run(); },1000);
试试~
追问
大哥相见恨晚啊,第二种方法成功了,早知道早问你了。。。。
我想明白了this不是指的想要的对象,就是不明白为什么你第一种方法不行,两种不一样吗
追答
JavaScript里的this很奇特,可以多研究下。
游戏动画循环可以试试requestAnimationFrame这个,专门为实现高性能的帧动画而设计的一个API,主流浏览器都支持,还有setTimeout要比setinterval这个稍微好点,原因可以百度一下。
然后游戏做完可以发我一份,欣赏一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询