(NO.00002)iOS遊戲精靈戰爭雛形(十) – iPhone手機開發 iPhone軟體開發教學課程

到目前為止,子彈是有去無回.如果子彈擊中目標或者飛出屏幕,那麼子彈也就沒必要存在瞭.

這裡的不存在不是把它從屏幕中刪除,因為前面提到瞭子彈緩存的作用,所以這裡僅僅將其設置為不可見就可以瞭.

首先處理飛出屏幕的子彈,在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),如果發現瞭飛出屏幕的子彈我們使其不可見.

還有一種情況,就是當子彈碰到目標的時候,我們將在下一篇中再敘 😉

 

發佈留言