有关JavaScript setInterval的问题,求大神

想写个游戏,给子弹弄个定时器。可这里的setinterval死活调不起来?(这是在类里面的方法)。也没有什么错误提示,单独执行里面的函数就没问题。下边是我想要重复执行的函... 想写个游戏,给子弹弄个定时器。可这里的setinterval死活调不起来?(这是在类里面的方法)。也没有什么错误提示,单独执行里面的函数就没问题。

下边是我想要重复执行的函数(子弹类里面的)

调了半天了,没一点头绪。 求大神能不能给个思路。。。
展开
 我来答
京雁风0gz
2015-03-06 · TA获得超过829个赞
知道小有建树答主
回答量:933
采纳率:50%
帮助的人:628万
展开全部
setinterval这个第一个参数里的this不是指向你希望的那个对象,你换种调用思路,把this用一个对象传进去,像这样试试:
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这个稍微好点,原因可以百度一下。

然后游戏做完可以发我一份,欣赏一下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式