0

ユーザーがカードに触れるとゆっくりとめくり、数字が表示されるゲームを開発しています。そのために、どのcocos2d APIを使用できますか?

または、フリップを示すフレームを使用してアニメーションを作成する必要がありますか?

4

4 に答える 4

2

に似たものを作成できますCCTransitionFlipX。ただし、CCSceneの代わりに、カードノード(スプライト)で動作させます。

このクラス(CCTransition.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

基本的に、指定された期間で両方のシーンで一連のCCActionを実行します。アクションは CCOrbitCamera、球座標を使用して画面の中心を中心にカメラを周回します。

于 2011-09-05T21:36:32.137 に答える
1

ビューを反転するために、uはこのようにそれを行うことができます、

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES];
[UIView commitAnimations];

アニメーションを実行する前に、ラベルを作成し、それをサブビューとしてUIViewに追加するだけです。テキストをアニメーションの後に表示する番号uに設定します。このラベルを非表示にします。commitAnimationsの後のアニメーションの最後で、ラベルの非表示プロパティをNOに設定します。あなたはあなたが望むアニメーションスタイルを達成するでしょう、私は推測します..これが役立つことを願っています....ハッピーコーディング... :)

于 2011-09-06T05:44:02.353 に答える
1

GeekGameBoardは、たくさんのゲームが含まれているMacアプリです。また、フリップなどを処理するカードクラスもあります。お役に立てば幸いです。

于 2011-09-06T06:41:53.563 に答える
0

私はそのようなcocs2d-android-1で行います

CCSprite sprite=CCSprite.sprite("icon.png");
CCIntervalAction a = (CCIntervalAction)CCOrbitCamera.action(2, 1, 0, 0, 360, 0, 0);
addChild(sprite,1);
sprite.runAction(CCRepeatForever.action(a));
于 2012-11-02T11:38:04.160 に答える