怎么做Android COCOS-2d菜单动画?

时间:2013-07-27 21:50:52

标签: cocos2d-android

Cocos2d-android - 我有一个有5个帧的动画。哪个会滚动到位。如何使按钮像地球一样滚动。

2 个答案:

答案 0 :(得分:1)

我不知道它是否可以像menuitem那样完成,但是你可以制作一个带有永久动作的精灵(你的动画为5帧),并且在ccTouchesBegan / ccTouchesEnded你添加代码去另一个场景或做另一个场景触摸你的精灵后发挥作用。

`private CCSprite animatedButton; // Make your sprite visible at begin of your class/layer.`


`animatedButton = CCSprite.sprite("yourImage.png");
 CCAnimation buttonAnimation = CCAnimation.animation("", 1f);
 buttonAnimation.addFrame("1.png");     
 buttonAnimation.addFrame("2.png"); 
 addChild(animatedButton, 1);
 CCIntervalAction buttonAction = CCAnimate.action(duration, buttonAnimation, false);
 animatedButton.runAction(CCRepeatForever.action(buttonAction));
 `

现在应该是你的按钮(CCSprite)动画。我没有尝试过代码。现在,如果您的按钮被触摸,您只需在ccTouchesBegan或ccTouchesEnded中找到。如果是的话,你可以做你想做的事。 :)

`if(animatedButton.getBoundingBox.contains(x,y)){
   CCScene scene = GameLayer.scene();       
   CCDirector.sharedDirector().replaceScene(scene);
 }`

X和y是触摸的坐标;

答案 1 :(得分:0)

您可以向menuitem添加动画。喜欢这个

CCMenuItem button=CCMenuItemImage.item(image, image, this, "label");
    button.setScaleX((winSize.width/8.0f)/image.getTexture().getWidth());
    button.setScaleY((winSize.height/8.0f)/image.getTexture().getHeight());
    button.setPosition(winSize.width/2,winSize.height+50);

    CCAction actionMove42=CCSequence.actions(CCDelayTime.action(0.3f), CCEaseBackOut.action(CCMoveTo.action(1.0f, CGPoint.ccp(0,0))));
    button.runAction(actionMove42);