(NO.00002)iOS游戏精灵战争雏形(十)

来源:互联网 时间:1970-01-01

到目前为止,子弹是有去无回.如果子弹击中目标或者飞出屏幕,那么子弹也就没必要存在了.

这里的不存在不是把它从屏幕中删除,因为前面提到了子弹缓存的作用,所以这里仅仅将其设置为不可见就可以了.

首先处理飞出屏幕的子弹,在MainScene.m中添加update方法如下:

[code]-(void)update:(CCTime)delta{ for (CCSprite *bullet in _bullets) {if (bullet.visible) { if (bullet.position.x <= 0 || bullet.position.x >= 1 ||bullet.position.y <= 0 || bullet.position.y >= 1) {bullet.visible = NO;//CCPhysicsBody *physicsBody = bullet.physicsBody;//[physicsBody applyImpulse:ccp(0,0)]; }} }}


我们需要随时检查子弹有没有飞出屏幕,判断逻辑很简单:直接判断子弹坐标位置即可.因为子弹坐标类型是百分比类型,所以屏幕整体的长宽都为(0,1),如果发现了飞出屏幕的子弹我们使其不可见.

还有一种情况,就是当子弹碰到目标的时候,我们将在下一篇中再叙 ;)



相关阅读:
Top