注册 登录
编程论坛 JavaScript论坛

用jQuery写的小游戏,有bug..求大神

境善 发布于 2015-07-20 17:32, 2113 次点击


只有本站会员才能查看附件,请 登录

问题:1、按空格键发子弹时,好卡,尤其是一直按着空格键,连续发子弹时,更卡。。
      2、小蜜蜂向下走时,与飞机碰撞时,小蜜蜂带有的定时器不知道怎么删。。。求大神
15 回复
#2
林月儿2015-07-21 10:40
不懂…帮你顶一下…坐等大神
#3
境善2015-07-21 15:42
回复 2楼 林月儿
啊  你就是大神啊  版主 求助~~
#4
林月儿2015-07-22 06:27
回复 3楼 境善
我不是这个版的版主好吗,这里的冰镇柠檬汁才是大神。
#5
冰镇柠檬汁儿2015-07-23 12:57
首先我没做过游戏,你的逻辑很复杂,我一时半会儿也看不懂。
子弹多了会卡是正常现象,最原始的游戏规则是一屏只有一发子弹,这样不会造成计时器错误。
性能问题我觉得主要是你使用的5个setInterval,如果你能将所有的处理都放在一起,使用一次setInterval解决这5个所处理的事情,性能就会有很大的提升。
另外你全部都使用了JQuery的东西,这也会拖慢些速度,在子弹少的时候,影响不到什么,但和连发、多个setInterval一起,性能问题就凸显了。
这道不是说不让你用JQuery,但是你的代码中充斥了大量的$('#score span').text()、$('#score span').html这样的东西,你就不能定义个变量将这些保存到内存中吗,这样做每次都需要重新获取DOM并封装,是非常耗时的。

$(this).attr('blood') == 1 改成 $(this).attr('blood') <= 1看看能不能删除,因为我测试的时候没发现什么不对的
#6
冰镇柠檬汁儿2015-07-23 13:01
建议楼主找一下《Javascript高效图形编程》
这是京东的地址:http://item.
我记得里面第五章就是你这个游戏的代码,参考一下吧
#7
境善2015-07-23 16:15
回复 5楼 冰镇柠檬汁儿
哦哦   好的 我试试 谢谢啊
#8
境善2015-07-23 16:17
回复 5楼 冰镇柠檬汁儿
但是 怎样使用一个定时器 来解决5个定时器的问题啊。。。求助。。
#9
冰镇柠檬汁儿2015-07-23 16:20
写5个函数,在一个setInterval中一起调用
#10
冰镇柠檬汁儿2015-07-23 16:23
这样感觉上执行的代码数量是一样的,但结果却不相同,30毫秒计时5次,会造成混乱的
还有一点要注意,让你的计时器最小不要低于15毫秒,因为IE的精度没那么高
#11
林月儿2015-07-24 06:54
回复 10楼 冰镇柠檬汁儿
名不虚传,我都想学学jsp了
#12
冰镇柠檬汁儿2015-07-24 09:23
以下是引用林月儿在2015-7-24 06:54:05的发言:

名不虚传,我都想学学jsp了

学jsp可以去java那边
#13
境善2015-07-24 14:51
回复 10楼 冰镇柠檬汁儿
恩 好的 我试一试~~谢谢
#14
境善2015-07-24 16:52
回复 10楼 冰镇柠檬汁儿
改不出来。。
#15
林月儿2015-07-28 14:21
回复 12楼 冰镇柠檬汁儿
哪都一样说不定c#里再学js
#16
xxccnn2015-08-30 20:19
先定义一个用于渲染的模型,用requestAnimationFrame更新,渲染这个模型。
1