0
因此,我正在製作一個簡單的遊戲,可以射擊的角色和射擊的作品,除了當角色轉向子彈時反轉方向。我明白爲什麼會發生這樣的問題,所以我的問題是,有沒有一種方法可以在保持當前速度的同時從陣列中刪除子彈,以便忽略角色的方向?子彈改變方向與字符
-(void)spinTapped
{
CCSprite *bullet = [CCSprite spriteWithFile:@"rwby_bullet.png"];
bullet.position = ccp(self.character.position.x , self.character.position.y+25);
[bullets addObject:bullet];
[self addChild:bullet z:-1];
}
然後在更新:
if(isRight) bulletVelocity = 10;
else if(isLeft) bulletVelocity = -10;
for(CCSprite *bullet in bullets)
{
bullet.position = ccp(bullet.position.x + bulletVelocity + scrollVelocity, bullet.position.y);
}
太謝謝你了!它的作品非常漂亮!有關如何從陣列中刪除對象的任何提示?換句話說,適當的垃圾收集?現在我正在使用[bullet removeObject:bullet];這是正確的方式嗎?因爲目前這種方式會導致應用在屏幕上移除另一個時崩潰。 – user1569940
你可能會遇到線程問題,或者如果你真的搞砸了,那麼在迭代它的時候你會從數組中移除對象。 我建議您創建需要刪除的第二個子彈數組。然後刪除那些安全的地方。 – HalR