読者です 読者をやめる 読者になる 読者になる

瞬けん!のアプリ開発過程その3 〜全体的にアニメーションしてるような感じを出したい・CATransition〜

相手が出している手に対してぐー、ちょき、ぱーのボタンを押した瞬間に判定が表示されて、相手が次の手を出すもの一瞬なので、もう少し動きに溜めが欲しいと思い、その方法を探してみました。

方法1:処理を一時停止させる

ぐー、ちょきー、ぱーのボタンを押してから判定が表示される前に一時停止処理を入れてみました。

[NSThread sleepForTimeInterval:0.2];

【参考】
DZ空間 » Blog Archive » 【Cocoa+Objective-C】実行を待たせる(sleepのような)動作を実装


一時停止中は全処理が止まってしまうので、なんとなく動きに引っかかりを感じたので却下。。
でも、Objective-Cにもsleepみたいな処理ができることを知りました。

方法2:エフェクトを利用する

画面が更新されるタイミングでアニメーションを実行してくれる(トランジション効果を与えてくれる)CATransitionを試してみました。

// QuartzCoreのライブラリが必要なので、最初に読んでおく
// QuartzCoreライブラリを利用するためには
//QuartzCore.frameworkをframeworkフォルダへ追加する必要あり
#import <QuartzCore/QuartzCore.h>

・・・

    CATransition    *transition;
    transition = [CATransition animation];
    
    // 完了までの秒数
    [transition setDuration:0.3f];
    
    // アニメーションの種類
    [transition setType:kCATransitionFade]; //フェード
    
    // 実行
    [[[self view] layer] addAnimation:transition forKey:@"layerAnimation"];    

【参考】
CATransitionでトランジションエフェクトを実行する方法 - プログラミングノート
http://developer.apple.com/jp/documentation/Cocoa/Conceptual/Animation_Types_Timing/Articles/TransitionAnimations.html


上記処理をじゃんけん判定部分に入れたところ、現在の瞬けん!のようにフェードアニメーションするような効果を付けることができました。
簡単にエフェクト効果を付けられるのは面白いです☆
アニメーションの種類を変えれば、画像のスライドショーのようなスライド効果も出せるようです。


iTunes Store へ接続中です。