おひさしぶりです。塚原です。
早いもので1年も折り返し。。。
時間がたつのが年々早くなってる気がするのは自分だけでしょうか?
業務で忙しかったりするとさらに早いですよね。
たまには業務を気にせず、好きなことだけを開発できたらなぁ。。。
実はできるんですっ!
弊社システム部では年1回合宿がありまして、
金曜の夕方から日曜の午前まで泊りでどっぷり開発することができます。
先日行われましたので、その模様が近々アップされる予定です!
お楽しみに~。
その合宿中、iphoneアプリ開発で使ったものをちょっと紹介します。
COCOS2D
http://www.cocos2d-iphone.org/
という2Dのゲーム作成をサポートしてくれるエンジンを入れてみました。
パズルゲームで使った動きを書いていきます。
導入はこちらを参考にしてください。
COCOS2DのテンプレートからXcodeなどでプロジェクトを作成します。
すでにプロジェクトを作成した時点でHellowWorldが実行できます。
この上にパズルのパーツ(b01.png)を表示させてみましょう。
COCOS2Dで用意されているCCSpriteクラスを使います。
このクラスは画像をつかってスクリーン上にスプライト(背景と独立に動く図形)を表示できます。
まず、素材の画像ファイル(b01.png)をResourcesフォルダに格納します。
画像が簡単に使えるのはありがたいっすね。
Classes/HelloWorldLayer.mファイルのinitメソッド内に以下を記述します。
1 2 |
CCSprite *sprite =[CCSprite spriteWithFile: @"b01.png"]; [self addChild: sprite]; |
実行するとこんな感じになります。
あら。。。左下に、しかも大半が隠れちゃってますね。
これは座標の基準が左下から始まるのとパーツの座標の基準が画像の中心になっているためで、
実は正しく表示されています。
画面中央に移動させてみましょう。
自分のiphoneはまだ3GSなので画面サイズは横向きで480×320になります。
なので中央は。。。240×160ですね。
さっきの記述に位置指定の一行加えます。
1 2 3 |
CCSprite *sprite =[CCSprite spriteWithFile: @"b01.png"]; sprite.position = ccp(240, 160); [self addChild: sprite]; |
実行するとこんな感じになります。
表示できましたね。
次はこのパーツを90度回転させてみましょう。
さらに回転指定の1行を加えます。
1 2 3 4 |
CCSprite *sprite =[CCSprite spriteWithFile: @"b01.png"]; sprite.position = ccp(240, 160); sprite.rotation = 90; [self addChild: sprite]; |
実行するとこんな感じになります。
最後にY軸方向に反転させてみましょう。
1 2 3 4 |
CCSprite *sprite =[CCSprite spriteWithFile: @"b01.png"]; sprite.position = ccp(240, 160); sprite.scaleY = -1; [self addChild: sprite]; |
実行するとこんな感じです。
初期の状態から意外と簡単に表示と動きまで確認できました。
あとはマルチタッチのイベントと組み合わせてパズルを操作する動きを実装しました。
今回は簡単に使っただけですが、いろんな動きのサンプルも
たくさん用意されているのでいろいろやってみようかと思っています。
やはり新しく学ぶものは新鮮で面白いですね。
それではまた~。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
アライドアーキテクツでは、一緒に働く仲間達を随時募集しています。
是非一度 採用サイト(リニューアルされましたっ!!!) を覗いてみてください。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
名の由来は「天祐」。 そのままではおこがましいので 天の字から1本棒をとればと叔父がつけてくれたもの。 名に恥じぬよう世の中の助けとなるものを創り出していきたいです。 for Facebookのサポート・運用開発の部隊に所属しています。