CocoStudioを使用した開発
お久しぶりです。智史之介です。 おかげさまで多忙の毎日を送っており、中々ブログを書けずにおりました。 言い訳ですね。いかんことです。
cocos2d-xに限らず、精力的にブログを書いていきますので、今後ともよろしくお願いいたします。
cocos2d-x 2015 advent calender
http://qiita.com/advent-calendar/2015/cocos2d-x
今年もこの時期がやってまいりました。advent calenderの話題が出てくると年の瀬を感じますね。 ふと気になって、cocos2d-xのカレンダーを確認してみると…。
「全然参加者がいない!!」
という状況で、若干の寂しさを感じつつ、諸手を挙げて参加している次第です。
打倒Unityですよ!みなさん!(目白)
CocoStudio もとい Cocos
もともと「CocoStudio」という名前だったのですが、何を思ったのか「Cocos」に改名。
戦略としては、ただのUI構築ツールではなく、Cocosを中心に開発を行う、総合的なオーサリングツールを目指しているイメージでしょうか?
起ち上げてみると、こんな感じです。
- Cocos Store
- Downloads
など、期待してもよさそうなメニューが並んでいますね!
この調子で、打倒Unityに邁進してほしいものです。
カレンダーを見てみると、ちょこちょこCocoStudioに関する記事が上がりそうなので、 プロジェクトの作成などの細かい手順は他の方が書いてくれる事を期待して、 自分はプログラムとの連携部分に関して触れて行きたいと思います。
buttonオブジェクトとの連携
まずは基本中の基本。buttonオブジェクトを試してみましょう。 buttonを笑う者はbuttonに泣く…のか?
buttonオブジェクトの配置
buttonオブジェクトとは、
- normal(通常)
- pressed(押下時)
- disabled(無効時)
の3つのステートをもったnodeです。
buttonオブジェクトに対する処理の追加
該当のbuttonインスタンスが押された際の処理の書き方はこんな感じです。
うーん、いけてないw 他言語に慣れている人であれば、きっと、
てな感じに書きたいですよねー。Eventの種類の所、もうちょっとフレームワーク側で巻き取ってほしいですよねー。
こう思うのは僕だけじゃないはず!
nodeのタイムラインとの同期処理
つづいて、nodeのタイムラインに関する処理の書き方をみてみましょう。
animationの追加
まずは、タイムライン(frame)にアニメーションの追加。
animationの再生
指定したanimationを再生します。
animationとの同期処理
指定のアニメーションの再生が終了したら、っていう書き方はこんな感じ。
「終了時」に限定しない処理を書きたい場合はこんな感じです。
プレビュー機能
Unityさながら!とまでは言いませんが、Cocosでもプレビュー機能が搭載されています。
簡単なアニメーションならプレビュー機能が便利です!
まとめ
まだまだ発展途上な感じが否めませんが、Cocos、いかがでしたでしょうか? cocos2d-xは、3Dなんかに浮気せずに、2Dを突っ走ってれば、もっとこういうオーサリングツールの開発にリソースを割けたと思うんですよねー。
変にUnityにかぶれてしまって、方向性を見失って欲しくないものです。
ぶっちゃけ、Unityに張り合っちゃいけないんです、キミは。
Unityとは違うマスを取りに行きなさい。そうでないと、生き残れないと思いますよ!