我的cocos2d遊戲有問題。我試圖刪除一個敵人每5秒射出一個彈丸(每個彈丸應該有5秒的壽命),但我無法弄清楚如何去做。我得到的每5秒鐘一次刪除一個對象Cocos2d
Assertion failure in -[CCTimer initWithTarget:selector:interval:]
錯誤這裏是我的代碼:
-(void)projectileShooting:(ccTime)dt
{
[self schedule:@selector(projectileShooting:) interval:2.5];
projcount++;
if([proj count] <= 15){
if(enemy1.position.y < 320){
v = ccp(player.position.x,player.position.y);
for(CCSprite *enemies in enemy){
CCSprite * projectilebullet = [CCSprite spriteWithFile:@"Projectile.png"];
[proj addObject:projectilebullet];
[self addChild:projectilebullet];
CGPoint MyVector = ccpSub(enemies.position,player.position);
MyVector = ccpNormalize(MyVector);
MyVector = ccpMult(MyVector, enemies.contentSize.width/2);
MyVector = ccpMult(MyVector,-1);
projectilebullet.position = ccpAdd(enemies.position, MyVector);
for(CCSprite *projectile in proj){
[self schedule:@selector (deleteprojectile:projectile:) interval:5];
}
}
}
}
for(CCSprite *enem2 in enemytwo)
{
if( [proj count] <= 15){
CCSprite * projectilebull = [CCSprite spriteWithFile:@"Projectile.png"];
CGPoint MyVector = ccpSub(enem2.position,player.position);
MyVector = ccpNormalize(MyVector);
MyVector = ccpMult(MyVector, enem2.contentSize.width/2+10);
MyVector = ccpMult(MyVector,-1);
projectilebull.position = ccpAdd(enem2.position, MyVector);
[self addChild:projectilebull];
[proj addObject:projectilebull];
for(CCSprite *projectile in proj){
}
}
}
}
-(void)deleteprojectile:(CCSprite *)protime:(ccTime)dt{
NSMutableArray *timepro = [[NSMutableArray alloc]init];
[timepro addObject:protime];
for(CCSprite *objecttime in timepro){
[proj removeObject:objecttime];
[self removeChild:objecttime cleanup:YES];
}
}
您正在嘗試刪除預定方法中的子節點,哪些操作不起作用?你得到的行爲是什麼? –
我在 - [CCTimer initWithTarget:selector:interval:]中得到斷言失敗的斷言錯誤 – Alexyuiop
也許它的事實是您在選擇器中使用了錯誤的參數名稱? (即射彈而不是protime) – giorashc