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

来源:互联网 发布:python中pipy 编辑:程序博客网 时间:2024/05/22 16:02

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

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

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

-(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),如果发现了飞出屏幕的子弹我们使其不可见.

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

0 0
原创粉丝点击