4

spriteAndroidを使用してcocos2dで動くアニメーションを作成したいのですが、助けてくださいここに私のコードがあります:

public void setMoveAnimation(CCSprite target) {
    //CCSprite target = CCSprite.sprite("Target.png");
    CCAnimation OpenAnim = CCAnimation.animation("", 0.1f);

    for (int i = 1; i <= 2; i++) {
        OpenAnim.addFrame(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("target.0" + i + ".png"));

        CCAction MoveAction = CCAnimate.action(1, OpenAnim, false);
        target.runAction(MoveAction);
    }
}
4

4 に答える 4

3

あなたはこれを行うことができます:

public void openScrPpr(float duration, CCSprite player) {
    CCAnimation scrPprAnim = CCAnimation.animation("", 2 / 20f);
    CGSize size = CCDirector.sharedDirector().displaySize();
    CCMoveTo moveTo = CCMoveTo.action(1,
            CGPoint.ccp(size.getWidth(), (size.getHeight() - 40)));

    for (int i = 1; i <= 7; i++) {
        scrPprAnim.addFrame(CCSpriteFrameCache.sharedSpriteFrameCache()
                .spriteFrameByName(i + ".png"));

        if (i == 7) {
            for (int j = 7; j >= 1; j--) {
                scrPprAnim.addFrame(CCSpriteFrameCache
                        .sharedSpriteFrameCache().spriteFrameByName(j + ".png"));
            }
        }
    }

    CCIntervalAction scrPprAction = CCAnimate.action(duration, scrPprAnim, false);
    CCRepeatForever forever = CCRepeatForever.action(scrPprAction);
    CCRepeatForever forever2 = CCRepeatForever.action(moveTo);
    player.runAction(forever);
}
于 2013-03-14T10:45:34.367 に答える
3

あなたはこのようにすることができます。これは私のために働いています。このようにdevil1.png,devil2.pngをdevil4.pngまで

CCAnimation animation = CCAnimation.animation("dance", 0.2f);
    for (int i = 1; i < 5; i++) {
        animation.addFrame(CCFormatter.format(devil%d.png, i));
    }

    CCIntervalAction action = CCAnimate.action(animation);
    target.runAction(CCRepeat.action(action, 9));
于 2013-08-04T16:41:33.163 に答える
2

Vaishali 私はこれを使用しています:

 ArrayList<CCSpriteFrame> jumpForwardAnimation=jumpForwardDown();
                 CCAnimation crocodileEatFrogJumpsUpAnimation = CCAnimation.animation("throw", 0.14f, jumpForwardAnimation);

                 COUNTdOWNaCTION=CCAnimate.action(crocodileEatFrogJumpsUpAnimation, false);

    CCBezierConfig bezier = new CCBezierConfig();   

                 bezier.controlPoint_1=CGPoint.ccp(frog.getPosition().x+frog.getContentSize().width*0.5f,frog.getPosition().y+frog.getContentSize().height*0.6f);
                 bezier.controlPoint_2=CGPoint.ccp(frog.getPosition().x+frog.getContentSize().width*0.5f,frog.getPosition().y+frog.getContentSize().height);
                 bezier.endPosition=location;

                 CCBezierTo  action = CCBezierTo.action(0.5f, bezier);
                 CCFiniteTimeAction action2=CCSpawn.actions(COUNTdOWNaCTION,action );

                 CCFiniteTimeAction actionMoveDone = CCCallFunc.action(this, "frogMoveDone");
                 CCAction COUNTdOWNaCTION1=CCSequence.actions(action2, actionMoveDone);
                 frog.runAction(COUNTdOWNaCTION1);


public void frogMoveDone(){

        frog.setPosition(point);
        }

しかし、私のカエルは最初にバイザーパスで次の場所にアニメーション化し、その後前の位置に戻ってから位置を変更します..

ここで私が間違っていることを教えてください。

于 2014-07-17T11:53:13.320 に答える