今日のテーマ
【画面遷移】
cocos2dで画面遷移をする方法です。
はじめに
Objective-Cの入門書で、画面遷移の方法が書かれているのですが
ほとんどの場合(私が買った本は全部)、
StoryBoardを使用したSegueでの移動方法です。
私が始めた時期的にも、Apple様がStoryBoardを
Xcodeに組み込んだ後ぐらいだったので、
たくさんの書籍がその使い方を記載してました。
StoryBoard自体、目で遷移先が確認出来るので
初心者でも簡単に画面遷移が実装できました。
しかしcoco2dでは、このStoryBoardを使用しません。
(使用する方法があるのかもしれませんが)
すべてコードで画面遷移を行います。
最初はコードだけだとわかりづらいのですが
慣れてくると、StoryBoardが煩わしく感じるぐらい簡単です。
実装方法
1.遷移先(シーン)のヘッダファイルをインポート
1 |
#import "GameScene.h" |
2.遷移したい場面(アクション)に下記を実装
1 2 |
CCScene *scene = [GameScene scene]; [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:0.5 scene:scene]]; |
以上です。簡単ですよね。
さらに画面を切り替える際に、今回はCCTransitionFadeを使用していますが
replaceSceneの後に”scene”を書けばなんの効果もなく遷移しますし
他にもたくさんの効果があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
//現在のシーンがフェードアウト CCTransitionFade //斜め向きに画面が回転して次のシーンが表示 CCTransitionFlipAngular //奥から次のシーンが表示 CCTransitionShrinkGrow //次のシーンが画面の下からスライドして表示 CCTransitionMoveInB //次のシーンが画面の上からスライドして表示 CCTransitionMoveInT //次のシーンが画面の左からスライドして表示 CCTransitionMoveInL //次のシーンが画面の右からスライドして表示 CCTransitionMoveInR //ドットの四角形の形でマスクしながら次のシーンが表示 CCTransitionFadeTR //ブラインドのアニメーションで次のシーンが表示 CCTransitionFadeUp //横方向に画面が回転して次のシーンが表示 CCTransitionFlipX //縦方向に画面が回転して次のシーンが表示 CCTransitionFlipY //右下から本のページの移動のように次のシーンが表示 CCTransitionPageTurn //次のシーンを後ろで表示しながらフェードアウト CCTransitionCrossFade |
画面遷移はあまり目立ちませんが
ゲームにあわせて、違和感が内容に実装したいですね。
【画面を遷移/移動する】アプリ開発日記(7/29) http://t.co/ksooF6VWjy