このコードを使用して上向きに発射します:
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent* )event
{
//Spawn the bullet
CCSprite * projectile = [CCSprite spriteWithFile:@"Projectile.png" rect:CGRectMake(0, 0, 17.5, 10)];
projectile.position = ccp(donk.position.x , 50);
[self addChild:projectile];
//Actualy Fire
[projectile runAction: [CCMoveTo actionWithDuration:.2 position: ccp (donk.position.x , 350)]];
}
それは私が望むように動作しますが、どのように if ステートメントを使用して、発射物が画面の上部にあるかどうかを確認して、削除できるようにするにはどうすればよいですか?
私はこれを使ってみました:
if (projectile.position.y >= 330) {
CCLOG(@"Removed");
[self removeChild:projectile cleanup:YES];
}
しかし、終了したタッチは一度しか呼び出されないことを忘れていました。