您的位置:首页 > 移动开发 > IOS开发

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

2015-11-01 15:25 405 查看
到目前为止,子弹是有去无回.如果子弹击中目标或者飞出屏幕,那么子弹也就没必要存在了.

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

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

还有一种情况,就是当子弹碰到目标的时候,我们将在下一篇中再叙 ;)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: