0

私はCocos2DとSneakyInputジョイスティックを使って格闘ゲームを作っています。私はキャラクターとこのキャラクターのアニメーションを持っています。(walkAnim、attackAnim、jumpAnim ...など)

次のようなことをしたい:jumpButtonを押すと、キャラクターはccjumpbyとjumpAnimを実行します。

キャラクターがジャンプしているときに、attackButtonを押して、キャラクターにattackAnimを実行させますが、キャラクターはまだccjumpbyを実行しています。

攻撃ボタンがなくても、キャラクターは引き続きjumpAnimとccjumpbyを実行します。

私がやりたいのは「ストリートファイター」のようなものです。

character.mには、次のものがあります。

- (void) jumpButtonPress {
    id action = nil;
    id movementAction = nil;
    CGPoint newPosition;
    newPosition = ccp(screenSize.width * 0.2f, 0.0f);
    if ([self flipX] == YES) {
        newPosition = ccp(newPosition.x * -1.0f, 0.0f);
    } 
    movementAction = [CCJumpBy actionWithDuration:1.5f 
                                       position:newPosition 
                                         height:160.0f 
                                          jumps:1];
    action = [CCSequence actions:
                      [CCAnimate 
                       actionWithAnimation:crouchingAnim 
                       restoreOriginalFrame:NO],
                      [CCSpawn actions:
                       [CCAnimate 
                        actionWithAnimation:jumpingAnim 
                        restoreOriginalFrame:YES],
                       movementAction,
                       nil],
                      [CCAnimate 
                       actionWithAnimation:afterJumpingAnim 
                       restoreOriginalFrame:NO],
                      nil];
    [self runAction:action];
}

- (void) attackButtonPressed {
    action = [CCAnimate 
                          actionWithAnimation:rightPunchAnim 
                          restoreOriginalFrame:NO];
    [self runAction:action];
}

これは機能していません。

4

0 に答える 0