ジャンプ中にスプライトをアニメーション化する

ジャンプ中にスプライトをアニメーション化する方法は? CCAnimateを使用して目を動かすか、スプライトをアニメーション化する

    CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFrames("AnimBear.plist");
    this._bear = CCSprite.sprite("bear1.png", true);


    spritesheet1 = CCSpriteSheet.spriteSheet("AnimBear.png");

    spritesheet1.addChild(_bear, 1);

    addChild(spritesheet1, 1);

    ArrayList animFrames = new ArrayList();
    CCSpriteFrameCache.sharedSpriteFrameCache();
    for (int i = 1; i <= 8; i++) {
        CCSpriteFrame frame = CCSpriteFrameCache
                .spriteFrameByName(
                        "bear" + i + ".png");
        animFrames.add(frame);
    }
    CCAnimation anim = CCAnimation.animation("AnimBear", .175f,
            animFrames);

    _bear.setPosition(CGPoint.make(_bear.getContentSize().width, 50));



    CCIntervalAction action=CCAnimate.action(0.1f, anim, false);
    this.walkAction = CCRepeatForever.action(action); 

    _bear.runAction(walkAction);

タッチで動く

    public boolean ccTouchesEnded(MotionEvent event) {


        CGPoint touchLocation = CCDirector.sharedDirector().convertToGL(
                CGPoint.make(event.getX(), event.getY()));

        float bearVelocity = 480.0f/3.0f;
        CGPoint moveDifference = CGPoint.ccpSub(touchLocation, _bear.getPosition());
        float distanceToMove = CGPoint.ccpLength(moveDifference);
        float moveDuration = distanceToMove/bearVelocity;

        if (moveDifference.x < 0) {
            _bear.flipX_= false;
        } else {
            _bear.flipX_ = true;
        }    

        _bear.stopAction(moveAction);

        if (!_moving) {
            _bear.runAction(walkAction);
        }
        CCMoveTo actionMove=CCMoveTo.action(moveDuration, touchLocation);
        CCCallFuncN actionMoveDone1 = CCCallFuncN.action(this, "bearMoveEnded");
        CCSequence actions = CCSequence.actions(actionMove, actionMoveDone1);
        _bear.stopAllActions();
        this.moveAction = actions;

        _bear.runAction(moveAction);

        _moving = true;

        return CCTouchDispatcher.kEventHandled;
    }
0

1 答え

最初にこのアニメーションを完了した後、画面上をタッチすると、それが起こることを望むアクティビティ..... アニメーションでスプライトを同時に動かすには、     public boolean ccTouchesEnded(MotionEventイベント){      }

1
追加された