2012年07月16日

cocos2d アニメーション繰り返し

お願いします♪いいねとかつぶやいたりして下さい
 
配列とかで、アニメーションを作りたいとき。

//先に読み出す
-(void)animeCards{

    cardsAnime = [[CCArray alloc] init];
    [self moveCard:0 data:0];

}

//カード一枚ずつの動き。
-(void)moveCard:(id)sender data:(void*)data{

    [cardsAnime addObject:[CCSprite spriteWithFile:@"1-13.png"]];
    CCSprite *testSp = [cardsAnime objectAtIndex:data];
    testSp.position = ccp(size.width/2, size.height/2);
    [self addChild:testSp];

    id scall = [CCScaleBy actionWithDuration:1.0f scale:0.3f];
    id wait = [CCDelayTime actionWithDuration:2];

    data++;
    if (data < 3){
        id move = [CCMoveBy actionWithDuration:1 position:ccp(10, 50)];
        id func = [CCCallFuncND actionWithTarget:self selector:@selector(moveCard:data:) data:data];
        id spawn = [CCSpawn actions:scall,move,wait,func,nil];
        [testSp runAction:spawn];
    } else {
        id move = [CCMoveBy actionWithDuration:3 position:ccp(size.width*0.3, size.height*-0.3)];
        id spawn = [CCSpawn actions:scall,move,wait,nil];
        [testSp runAction:spawn];
    }
}


別メソッドでやらないとうまく動かない。

animeCards で、 moveCard の0番目を読み出す。
で、moveCards内でdataをインクリメントして、読み出し続ける。

これでOK.

位置情報、アニメーションは別途配列などを用意してやるといいかも。
positionの数字とかね。

にしても

CCCallFuncND の使い方ではまった。
selectorの指定方法上記なので、要注意ね。
関連するタグ:
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ