【ゲーム開発】SpriteBuilderのチュートリアルでなんちゃらバードらしきものを作ろう#4
スポンサードリンク
こんにちは。
SpriteBuilderのチュートリアルもそろそろゴールが見えてきました。
コードの入力です。
今回でサンプルプログラムは終了です。
最後までやればチュートリアルのサンプルプログラムが動きます。
photo credit: cindy47452 via photopin cc
6.Xcodeにコードを入力する。
Xcodeのプロジェクトファイルを開きます。
SpriteBuilderの設定をXcodeで読み込めるように
クラスの定義を行います。
コードを書いていきます。
まずは"Level.h"から。
SpriteBuilderで宣言したNodeをXcode側でも宣言します。
@interface Level : CCNode { CCNode* _physicsNode; CCNode* _launcher; }
_physicsNodeは地面やバードに崩されるアイテムなどに使いました。
_launcherは砲台に使いました。
つづいて"Level.m"です。
#import "Level.h" @implementation Level -(void)launchBird:(id)sender { //Calulate the rotation in radians float rotationRadians = CC_DEGREES_TO_RADIANS(_launcher.rotation); //Vector for the rotation CGPoint directionVector = ccp(sinf(rotationRadians), cosf(rotationRadians)); CGPoint ballOffset = ccpMult(directionVector, 50); //Load a ball and set its initial position CCNode* ball = [CCBReader load:@"Bird"]; ball.position = ccpAdd(_launcher.position, ballOffset); //Add the ball to physics node [_physicsNode addChild:ball]; //Make an impulse and apply it CGPoint force = ccpMult(directionVector, 50000); [ball.physicsBody applyForce:force]; } @end
実行してみましょう!
シミュレータが起動して
SpriteBuilderで作成したゲーム画面が表示されます。
砲台がSpriteBuilderで設定した角度で動いています。
また、横スクロールの設定にしていたので横スクロールできます。
砲台が埋め込まれた岩の部分をクリックすると。。。
バードが発射されます。
右側のアイテムにバードが当たると
そのアイテムたちは崩れていきます。。。
どこかでみたことのあるゲームのようなものができました。
以上でチュートリアルの内容は終了です。
いかがでしたか?
無事完成できたでしょうか?
アイテムの配置、動きをつける、物理計算等々が
非常に簡単にしかも視覚的に行うことができます。
素晴らしいツールがあるものです。
本格的なゲームに仕上げていくためには
まだまだ使い込んでいく必要があると思います。
今回はここまでにします。
勉強したら詳しい使い方の説明ができるかもです。
(先にCocosBuilderの勉強をするので期待はしないでください)
長々とおつきあい頂きありがとうございました。