CCSprite runAction и Удалить - PullRequest
       5

CCSprite runAction и Удалить

1 голос
/ 30 сентября 2011

У меня есть ccLayer, где я пытаюсь сделать дождь.При инициализации я планирую следующее:

        [self schedule:@selector(throwRain) interval:0.1f];

А вот и остальная часть кода:

-(void) throwRain {
    CCSprite *gota;
    for (int i = 1; i <= 6; i++){
        gota = [CCSprite spriteWithFile:@"4_gota.png"];
        gota.position = ccp(arc4random() % 768, 1060);
        gota.scale = (arc4random () % 25 + 50.0f) / 100.0f;
        gota.rotation = 35 ;
        [self addChild:gota z:arc4random() % 5 + 7];

        [gota runAction:[CCSequence actions:[CCEaseRateAction actionWithAction:[CCMoveTo actionWithDuration:3.0f + (arc4random() % 200) / 100.0f position:ccp(gota.position.x, 0)] rate:3]  , [CCCallFunc actionWithTarget:self selector:@selector(spriteDone:)], nil]];
    }
}

-(void) spriteDone:(id)sender {
    [self removeChild:sender cleanup:YES];
}   

Однако капли доходят до дна и просто остаются там, и никогда не получаютсяудален.Любая идея?Спасибо.

1 Ответ

1 голос
/ 30 сентября 2011

Попробуйте изменить значение с CCCallFunc на CCCallFuncN.«N» обозначает «Узел» и передает узел, выполняющий действие, селектору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...