我开发了一个游戏,当用户触摸一张卡片时,它会慢慢翻转,数字会显示出来。为此,我可以使用什么cocos2d应用程序接口?
或者,我应该创建具有指示翻转的帧的动画吗?
发布于 2011-09-06 13:44:02
对于翻转视图,你可以这样做,
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES];
[UIView commitAnimations];在制作动画之前,只需创建一个标签并将其作为子视图添加到UIView中。将文本设置为您希望在animation.Hide this label.At之后显示的数字,在commitAnimations之后的动画末尾只需将标签的隐藏属性设置为NO。我想你会达到你想要的动画风格..希望这段helps....Happy代码...:)
发布于 2011-09-06 05:36:32
您可以创建类似于CCTransitionFlipX的东西。但是让它在你的卡片节点(精灵)上运行,而不是CCScene。
下面是这个类的实现( of转换.m):
//
// FlipX Transition
//
@implementation CCTransitionFlipX
-(void) onEnter
{
[super onEnter];
CCActionInterval *inA, *outA;
[inScene_ setVisible: NO];
float inDeltaZ, inAngleZ;
float outDeltaZ, outAngleZ;
if( orientation == kOrientationRightOver ) {
inDeltaZ = 90;
inAngleZ = 270;
outDeltaZ = 90;
outAngleZ = 0;
} else {
inDeltaZ = -90;
inAngleZ = 90;
outDeltaZ = -90;
outAngleZ = 0;
}
inA = [CCSequence actions:
[CCDelayTime actionWithDuration:duration_/2],
[CCShow action],
[CCOrbitCamera actionWithDuration: duration_/2 radius: 1 deltaRadius:0 angleZ:inAngleZ deltaAngleZ:inDeltaZ angleX:0 deltaAngleX:0],
[CCCallFunc actionWithTarget:self selector:@selector(finish)],
nil ];
outA = [CCSequence actions:
[CCOrbitCamera actionWithDuration: duration_/2 radius: 1 deltaRadius:0 angleZ:outAngleZ deltaAngleZ:outDeltaZ angleX:0 deltaAngleX:0],
[CCHide action],
[CCDelayTime actionWithDuration:duration_/2],
nil ];
[inScene_ runAction: inA];
[outScene_ runAction: outA];
}
@end基本上,它在给定的持续时间内在两个场景上运行一系列CCActions。CCOrbitCamera操作使用球面坐标围绕屏幕中心动态观察摄影机。
发布于 2011-09-06 14:41:54
GeekGameBoard是一款mac应用程序,里面有很多游戏。它还有一个卡片类,用于处理翻转等操作。希望这能有所帮助!
https://stackoverflow.com/questions/7312549
复制相似问题