最近下载了cocos2d-x-3.0alpha1,发现游戏示例SimpleGame中存在一个小问题:onTouchesEnded中计算projectile的运动时间有误。如图所示:
在上图中圆圈位置点击后,会在onTouchesEnded函数中计算子弹projectile的运动方向和在多少秒之后执行spriteMoveFinished函数来移除子弹。
在VS中断点后发现realDest的值比较大,导致在子弹放出后看上去已经离开屏幕了,但实际上它还在移动没有被移除,官方示例中的算法会有个问题,就是如果offX趋近于0,realDest会趋近于无限大,子弹要移动N久才会被移除。
理想的情况应该是:子弹超出屏幕后就会被移除。(直观上看就是左下角的渲染个数在子弹出现后+1,在超出屏幕后马上-1)。俺不是程序猿,希望看到的朋友可以提出好的解决方案,如果官方可以抽空修正一下就最好不过啦!☺