Cocos2d-android - 我有一个有5个帧的动画。哪个会滚动到位。如何使按钮像地球一样滚动。
答案 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);