Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

23
cocos2dx 2.1.2 MacAndroidアプリをつくろう!

description

Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

Transcript of Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

Page 1: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐x  2.1.2 MacでAndroidアプリをつくろう!

Page 2: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

清水 友晶

•  株式会社TKS2  スマートフォンアプリ開発(iOS,  Android,  Windows  Phone  8)  Webコンテンツ開発

•  cocos2d-­‐xへの開発参加cocos2d-­‐xを利用したアプリ開発講演活動執筆活動

•  Twi=er:  tks2shimizu  •  Blog:  h=p://tks2.net/memo  •  SlideShare:  h=p://www.slideshare.net/doraemonsss  •  Facebook:  h=p://www.facebook.com/doraemonsss  

Page 3: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

•  h=p://cocos2d-­‐x.jp  •  cocos2d-­‐x開発元Chukong  Technologies社公認  •  cocos2d-­‐xのための自由なコミュニティー  •  入門者から上級者まで誰でもOK!!ぜひご参加を!  •  cocos2d-­‐xに関することなら何でも投稿できます!!  •  h=ps://www.facebook.com/groups/152840204871454/  

Page 4: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

•  現在のshinjuku.cocos2d-­‐xハンズオンの問題点  •  Macユーザのみを対象としている。  •  徐々にレベルが上がってきているため初心者ついてこれない。  

•  将来のshinjuku.cocos2d-­‐xハンズオン  •  Windowsユーザ,  Macユーザを区別しない  •  レベルは変えない  

•  shinjuku.cocos2d-­‐x初心者ハンズオン  

Page 5: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

•  3/21  shinjuku.cocos2d-­‐x初心者ハンズオン      〜MacでAndroidアプリを作ろう!〜

•  3/22  cocos2d-­‐x公開講座 in  鹿児島 •  3/23  cocos2d-­‐x実践講座 in  鹿児島 •  4/10  shinjuku.cocos2d-­‐x初心者ハンズオン      〜WindowsでAndroidアプリを作ろう!〜

•  4/17  第7回 shinjuku.cocos2d-­‐x  •  5/M  第8回 shinjuku.cocos2d-­‐x  •  5/M  shinjuku.cocos2d-­‐x初心者ハンズオン      〜MacでiOSアプリを作ろう!〜

Page 6: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

目次

•  cocos2d-­‐xの紹介  •  cocos2d-­‐xの開発環境を整える  •  テンプレートプロジェクトから学ぶ  •  今後の勉強方法について  

Page 7: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの紹介 •  2Dゲームフレームワーク  •  オープンソース(MITライセンス)  •  マルチプラットフォーム開発  •  Android,  iOS,  …(7種類)  •  Win32,  Mac,  Linux  

•  開発言語  …  C++,  Lua,  Javascript  •  どんなことができるのか?  

 èTestCPPを見てみましょう

Page 8: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

Androidアプリを  cocos2d-­‐xで作るメリット

•  オープンソース(MITライセンス)  •  無償  •  ソース公開  

•  クロスプラットフォーム開発  •  開発期間の短縮  •  資産の有効活用  

•  効率化  •  画像処理のパフォーマンスアップ  

•  cocos2d  for  iphoneからの移行が容易  •  Android  SDKを詳しく知らなくてもアプリを作成することができる

Page 9: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

Androidアプリを  cocos2d-­‐xで作るデメリット

•  ネイティブ間の連携が面倒  •  JNIを利用しなければいけない  

•  デバッグが面倒  •  常にログの確認が必要  •  ログで判別不可能な場合もある  

Page 10: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  cocos2d-­‐xインストール  •  Android  SDK  +  Eclipseインストール  •  Android  NDKインストール  •  ADT(Eclipse)の設定  •  プロジェクト作成  •  Android実機転送

Page 11: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  cocos2d-­‐xダウンロード  h=p://www.cocos2d-­‐x.org/projects/cocos2d-­‐x/wiki/Download  

•  任意のディレクトリへ展開  /Users/Sumomo/cocos2d-­‐2.1rc0-­‐x-­‐2.1.2  

Page 12: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  Android  SDK  +  Eclipseダウンロード  h=p://developer.android.com/sdk/  

•  任意のディレクトリへ展開  /Users/Sumomo/adt-­‐bundle-­‐mac  

Page 13: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  Android  NDKダウンロード  h=p://developer.android.com/tools/sdk/ndk/  

•  任意のディレクトリへ展開  /Users/Sumomo/android-­‐ndk-­‐r8d  

Page 14: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  Eclipseの設定  •  Eclipse起動  •  ADT(Eclipse)  >  環境設定  

•  General  >  Workspace  >  Linked  Resources  •  COCOS2DX  è  cocos2dxのディレクトリ  

•  C/C++  >  Build  >  Environment  •  NDK_ROOT  èAndroid  NDKのディレクトリ  

•  libcocos2dxプロジェクトのインポート  •  File  >  New  >  Project  

cocos2d-­‐2.1rc0-­‐x-­‐2.1.2/cocos2dx/pladorm/android/java  

Page 15: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  SDK  Manager起動  Window  >  Android  SDK  Manager  Android  2.2  (API  8)  >  SDK  Pladorm  

Page 16: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  project-­‐creatorによるプロジェクト作成  cocos2d-­‐2.1rc0-­‐x-­‐2.1.2/tools/project-­‐creator/create_project.py  •  ディレクトリ移動  

cd  cocos2d-­‐2.1rc0-­‐x-­‐2.1.2/tools/project-­‐creator/  •  create_project.py実行  

./create_project.py  -­‐project  MyProject  -­‐package  net.tks2.myproject  -­‐language  cpp  •  オプション  •  -­‐project  …  プロジェクト名  •  -­‐packege  …  パッケージ名  •  -­‐language  …  言語(cpp,  lua,  javascript)  

•  cocos2d-­‐2.1rc0-­‐x-­‐2.1.2/projectsにプロジェクトが作成される  

Page 17: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

cocos2d-­‐xの開発環境を整える

•  Eclipseでプロジェクトを読込む  •  File  >  New  >  Project  •  Android  >  Android  Project  from  Exisfng  Code  

•  Android実機転送  •  Run  >  Run  

Page 18: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

テンプレートプロジェクトから学ぶ

•  プロジェクトには次のディレクトリがある •  Classes  

èソースファイルを格納  

•  Resources  è画像・音声などのリソースファイルを格納  

•  最初に用意されているクラスは次の2つ •  AppDelegateクラス  •  HelloWorldクラス

Page 19: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

テンプレートプロジェクトから学ぶ

•  AppDelegateには次のメソッドがある •  applicafonDidFinishLaunching()  

•  アプリ起動時に処理され、アプリのセッティングを行う •  最初のシーンを呼び出す

•  applicafonDidEnterBackground()  •  アプリがスリープする時に処理され、アプリの停止を行う

•  applicafonWillEnterForeground()  •  アプリ復帰時に処理され、アプリの再開を行う

Page 20: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

テンプレートプロジェクトから学ぶ •  HelloWorldScene.cppファイルのpSpriteをさわってみる •  位置変更

pSprite-­‐>setPosifon(  ccp(0,  0)  );  

•  拡大・縮小 pSprite-­‐>setScale(2.0f);  

•  回転 pSprite-­‐>setRotafon(90.0f);  

•  アンカーポイント pSprite-­‐>setAnchorPoint(  ccp(0,  0)  );  

•  透過 pSprite-­‐>setOpacity(127);  

Page 21: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

テンプレートプロジェクトから学ぶ

•  オブジェクトを移動させてみる 2秒で画面右端へ移動する

CCMoveTo*  move  =  CCMoveTo::create(2.0f,  ccp(size.width,  size.height/2)  );  pSprite-­‐>runAcfon(move);  

Page 22: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

テンプレートプロジェクトから学ぶ

•  CCAcfon  h=p://www.cocos2d-­‐x.org/reference/nafve-­‐cpp/dd/d89/classcocos2d_1_1_c_c_finite_fme_acfon.html  •  移動  

CCMoveTo,  CCMoveBy  •  回転  

CCRotateTo,  CCRotateBy  

•  フェードイン・フェードアウト  CCFadeIn,  CCFadeOut

Page 23: Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について

今後の勉強方法について

•  cocos2d-­‐x  Wikiを調べる  h=p://www.cocos2d-­‐x.org/projects/cocos2d-­‐x/wiki  

•  cocos2d-­‐x  Referenceを調べる  •  TestCppで調べる  •  ググってみる  •  cocos2d-­‐x  フォーラムで質問する  •  cocos2d-­‐x.jp  communityで質問する