Делаем пулю огнём -Cocos2d

В моем коде есть два класса, связанных с Bullet. Пуля и BulletCache. BulletCache создает определенное количество

Я перешел к простому созданию нового метода создания пуль, предназначенного для стрельбы пулями. Я использовал метод CCFuncN, но в настоящее время игра выдает ошибки NSException:

CCAction* action = [CCSequence actions:
            [CCAnimate actionWithAnimation:[profile getAnimation:@"attack" index:currentDir]],
            [CCCallFuncN actionWithTarget:self selector:@selector(shootBulletFrom:)],
        nil];

NSInvalidArgumentException', reason: '-[Player shootBulletFrom:]: unrecognized selector sent to instance 0x703ec70'

редактировать:

Для получения дополнительной помощи и советов используйте метод shootBulletFrom в BulletCache.

Этот метод находится в BulletCache

-(void) shootBulletFrom:(CGPoint)startPosition velocity:(CGPoint)velocity frameName:(NSString*)frameName 
                                                                    isPlayerBullet:(bool)isPlayerBullet
{
    CCArray* bullets = [batch children];
    CCNode* node = [bullets objectAtIndex:nextInactiveBullet];
    NSAssert([node isKindOfClass:[Bullet class]], @"not a Bullet!");

    Bullet* bullet = (Bullet*)node;
    [bullet shootBulletAt:startPosition velocity:velocity frameName:frameName 
                                                    isPlayerBullet:isPlayerBullet];

    nextInactiveBullet++;
    if (nextInactiveBullet >= [bullets count])
    {
        nextInactiveBullet = 0;
    }
}

Мне также рекомендовали изменить вызов [CCCallFuncN] внизу на:

[CCCallFuncN actionWithTarget:self selector:@selector(shootBulletFrom:shotPos velocity:velocity frameName:@"bullet1big.png" isPlayerBullet: YES)],

Но потом я получил ошибку компиляции: Expected ':' before Velocity


person GPP    schedule 02.01.2012    source источник


Ответы (1)


Вы не упомянули код для shootBulletFrom, и ошибка означает, что в нем есть какая-то ошибка. Возможно, вы не объявили функцию в файле .h или в каком-то другом. Так что, если можно, упомяните об этом.

Вы можете пройти это и эту ссылку. У них есть хорошие примеры приложений для стрельбы пулями. Надеюсь, это поможет вам.

person Yama Puvar    schedule 04.01.2012
comment
похоже, что оба этих кода используют одноэлементный шаблон, который, хотя я и получил код маркера, это то, что я пытаюсь изменить. Проект, в который я портировал код пули, не использует одноэлементные шаблоны, за исключением звукового движка. - person GPP; 04.01.2012