【发布时间】:2013-07-27 21:50:51
【问题描述】:
Cocos2d-android - 我有一个有 5 帧的动画。这将滚动到位。如何让按钮像地球一样滚动。
【问题讨论】:
标签: cocos2d-android
Cocos2d-android - 我有一个有 5 帧的动画。这将滚动到位。如何让按钮像地球一样滚动。
【问题讨论】:
标签: cocos2d-android
我不知道它是否可以像 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 是触摸坐标;
【讨论】:
您可以向 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);
【讨论】: