Cocos2dx 8hour

40
Cocos2d-x 8時間さわってみた @tmokita 1 1

description

さいたま勉強会 2013年1月19日 Cocos2d-x 8時間さわってみた 補足記事:http://tmokita.net/blog/?p=1113

Transcript of Cocos2dx 8hour

Page 1: Cocos2dx 8hour

Cocos2d-x8時間さわってみた

@tmokita

11

Page 2: Cocos2dx 8hour

自己紹介•沖田 知彦Tomohiko Okita(株)フォーユープログラマ

•最近作ったものパズドラ攻略アプリとか

22

Page 3: Cocos2dx 8hour

はじめに

33

Page 4: Cocos2dx 8hour

なんで8時間?

44

Page 5: Cocos2dx 8hour

• 1人日でどこまでできるか

55

Page 6: Cocos2dx 8hour

Cocos2d-xとは

66

Page 7: Cocos2dx 8hour

•主に2Dゲームに特化したiOS/Android用のライブラリ

•音や物理演算などのライブラリも含む• C++

77

Page 8: Cocos2dx 8hour

僕のスペック

•普段はxcodeでのiPhone開発• AndroidやEclipseはほとんど素人• EclipseやAndroidSDKは入れてた• Cocos2d(notX)は少しは使ってた

88

Page 9: Cocos2dx 8hour

目標

99

Page 10: Cocos2dx 8hour

• Cocos2d-xを導入できるようになる• AndroidとiPhoneでソースを共有できるようにする

• ParticleDesignerとかも使いたいよね• CocosBuilderとかも使いたいよね

1010

Page 11: Cocos2dx 8hour

はじまるよー

1111

Page 12: Cocos2dx 8hour

1時間目

1212

Page 13: Cocos2dx 8hour

1時間目• 久しぶりなのでまずはNexus7の実機でCocos2d-xじゃない普通のAndroidアプリが動かせるか確認

• 4.0以降のSDKが入ってなかったのでインストール• Nexus7のDevelopモードを探す• Cocos2d-x最新版をDL• NDKが必要らしいのでインストール

1313

Page 14: Cocos2dx 8hour

2時間目

1414

Page 15: Cocos2dx 8hour

2時間目• Cocos2d-xをインストール• Eclipseに取り込んでやってみるけどなんかうまくいかない

• @overrideをコメントアウト(すごい怪しい,他の環境では不要だった)

• 動いたー15

15

Page 16: Cocos2dx 8hour

お昼ごはん

1616

Page 17: Cocos2dx 8hour

お昼ごはん

1717

Page 18: Cocos2dx 8hour

3時間目

1818

Page 19: Cocos2dx 8hour

3時間目•ググってたらAppCodeとか出て来たのでそれが使えるか試す

• AndroidでAppCodeが使えるかわからなかったのでやめる

• Androidでは動いたのでiPhoneで試す• install-templates-xcode.shで速効

1919

Page 20: Cocos2dx 8hour

4時間目

2020

Page 21: Cocos2dx 8hour

4時間目• iPhoneとAndroidのソースの共有をしてみたい

• Androidのソースを移動させるとbuild_native.shはできるけどEclipseでなんかうまくいかない。おそらくパス的な何か

• いったんあきらめる21

21

Page 22: Cocos2dx 8hour

コーヒーブレイク

2222

Page 23: Cocos2dx 8hour

コーヒーブレイク

2323

Page 24: Cocos2dx 8hour

5時間目

2424

Page 25: Cocos2dx 8hour

5時間目• xcodeのプロジェクトに含まれるソースをAndroidの方を参照するようにした

• プロジェクトが2カ所に散らばるけどとりあえず問題なさげ

• xcodeからソースを編集してAndroidのビルドを試したりする

• 買ってから数回しか起動していないParticleDesignerを起動

2525

Page 26: Cocos2dx 8hour

6時間目

2626

Page 27: Cocos2dx 8hour

6時間目• ParticleDesignerで適当なプリセットをそのまま出力• xcodeに追加して実行CCParticleSystemQuad* particle =  CCParticleSystemQuad::create("particle.plist");this->addChild(particle);particle->autorelease();

• Androidでも動く• しばらく感動

2727

Page 28: Cocos2dx 8hour

7時間目

2828

Page 29: Cocos2dx 8hour

7時間目• ねじさんが発表していたときにDLしたCocosBuilderを起動(数カ月ぶり3回目)

• さっぱりわからないのでググる

• Exampleを落とすとCocos2d(notX)のソースしかついてない

• げ、xじゃ使えないの?

• と、思ったけどそんなことは無かった。

• xではExampleに入ってるCocosBuilder読み込みとかのライブラリが標準で入ってるらしい

• すばらしいと思いつつCocosBuilderを適当に弄るがわからない

2929

Page 30: Cocos2dx 8hour

8時間目

3030

Page 31: Cocos2dx 8hour

8時間目• ここらへんからxcodeがおかしくなり始めるThe selected destination does not support the architecture for which the selected software is built. Switch to a destination that supports that architecture in order to run the selected software.

• ググりながらスプライトやラベルを配置してみるがうまくいかないextension::CCNodeLoaderLibrary* ccNodeLL = extension::CCNodeLoaderLibrary::sharedCCNodeLoaderLibrary();extension::CCBReader* ccbReader = new extension::CCBReader(ccNodeLL);CCNode* ccbNode = ccbReader->readNodeGraphFromFile("HelloCocosBuilder.ccbi");this->addChild(ccbNode);

3131

Page 32: Cocos2dx 8hour

9時間目(補習)

3232

Page 33: Cocos2dx 8hour

9時間目(補習)• CustomClassを入れてるとAssertに引っかかる?空にしたら動いた?

• zip形式はxでは使えない• CocosBuilderでPublishしてもファイルが更新されない?ことがある

• なのでPublish先のファイル(ccbi)を先に削除しておく• Androidのビルドはやり直したかったら./build_native.sh clean で

3333

Page 34: Cocos2dx 8hour

まとめ

3434

Page 35: Cocos2dx 8hour

導入

3535

Page 36: Cocos2dx 8hour

iPhoneの場合1.xcodeをインストール

2. install-templates-xcode.sh

3.新規プロジェクトでCocos2d-x

4.実行ターゲットの設定

以上

3636

Page 37: Cocos2dx 8hour

Androidの場合1. AndroidSDK+Eclipseをインストール

2. NDKをインストールしてパス設定export NDK_ROOT="installed_dir"

3. create-android-project.sh

4. <project>/proj.androidに移動してbuild_native.sh

5. EclipseにCocos2d-xのライブラリをインポート

6. Eclipseに作成したプロジェクトをインポート

7. 実行環境の設定

以上

3737

Page 38: Cocos2dx 8hour

• 本当にソース・リソースは共有できた• ParticleDesignerも使えた• CocosBuilderも使えた• 両方で開発するならxcodeメインで必要に応じてAndroidをビルド

• StackOverflowが役に立った

3838

Page 39: Cocos2dx 8hour

最後に

•ググると「うまくいった」という情報は多いけど「うまくいかない」という情報が少ない

•「うまくいかない」も恥ずかしがらずに共有できればもっとみんな助かるはず

3939

Page 40: Cocos2dx 8hour

•ありがとうございました

4040