cocos2d-­‐x	
  2.1.2	
 
Macで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	
  
•    h=p://cocos2d-­‐x.jp	
  
•    cocos2d-­‐x開発元Chukong	
  Technologies社公認	
  
•    cocos2d-­‐xのための自由なコミュニティー	
  
•    入門者から上級者まで誰でもOK!!ぜひご参加を!	
  
•    cocos2d-­‐xに関することなら何でも投稿できます!!	
  
•  h=ps://www.facebook.com/groups/152840204871454/	
  
•  現在のshinjuku.cocos2d-­‐xハンズオンの問題点	
  
  •  Macユーザのみを対象としている。	
  
  •  徐々にレベルが上がってきているため初心者ついてこれ
     ない。	
  


•  将来のshinjuku.cocos2d-­‐xハンズオン	
  
  •  Windowsユーザ,	
  Macユーザを区別しない	
  
  •  レベルは変えない	
  
•  shinjuku.cocos2d-­‐x初心者ハンズオン	
  
•  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アプリを作ろう!〜
目次	
 
•    cocos2d-­‐xの紹介	
  
•    cocos2d-­‐xの開発環境を整える	
  
•    テンプレートプロジェクトから学ぶ	
  
•    今後の勉強方法について	
  
cocos2d-­‐xの紹介	
 
•  2Dゲームフレームワーク	
  
•  オープンソース(MITライセンス)	
  
•  マルチプラットフォーム開発	
  
   •  Android,	
  iOS,	
  …(7種類)	
  
   •  Win32,	
  Mac,	
  Linux	
  
•  開発言語	
  …	
  C++,	
  Lua,	
  Javascript	
  
•  どんなことができるのか?	
  
        	
  èTestCPPを見てみましょう
Androidアプリを	
  
cocos2d-­‐xで作るメリット	
 
   •  オープンソース(MITライセンス)	
  
     •  無償	
  
     •  ソース公開	
  
   •  クロスプラットフォーム開発	
  
     •  開発期間の短縮	
  
     •  資産の有効活用	
  
   •  効率化	
  
     •  画像処理のパフォーマンスアップ	
  
   •  cocos2d	
  for	
  iphoneからの移行が容易	
  
     •  Android	
  SDKを詳しく知らなくてもアプリを作成すること
        ができる
Androidアプリを	
  
cocos2d-­‐xで作るデメリット	
 
 •  ネイティブ間の連携が面倒	
  
  •  JNIを利用しなければいけない	
  
 •  デバッグが面倒	
  
  •  常にログの確認が必要	
  
  •  ログで判別不可能な場合もある	
  
cocos2d-­‐xの開発環境を整える	
 
•    cocos2d-­‐xインストール	
  
•    Android	
  SDK	
  +	
  Eclipseインストール	
  
•    Android	
  NDKインストール	
  
•    ADT(Eclipse)の設定	
  
•    プロジェクト作成	
  
•    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	
  
cocos2d-­‐xの開発環境を整える	
 
•  Android	
  SDK	
  +	
  Eclipseダウンロード	
  
   h=p://developer.android.com/sdk/	
  
•  任意のディレクトリへ展開	
  
   /Users/Sumomo/adt-­‐bundle-­‐mac	
  
cocos2d-­‐xの開発環境を整える	
 
•  Android	
  NDKダウンロード	
  
  h=p://developer.android.com/tools/sdk/ndk/	
  
•  任意のディレクトリへ展開	
  
  /Users/Sumomo/android-­‐ndk-­‐r8d	
  
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	
  
cocos2d-­‐xの開発環境を整える	
 
•  SDK	
  Manager起動	
  
   Window	
  >	
  Android	
  SDK	
  Manager	
  
   Android	
  2.2	
  (API	
  8)	
  >	
  SDK	
  Pladorm	
  
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にプロジェクトが作成さ
     れる	
  
cocos2d-­‐xの開発環境を整える	
 
•  Eclipseでプロジェクトを読込む	
  
  •  File	
  >	
  New	
  >	
  Project	
  
  •  Android	
  >	
  Android	
  Project	
  from	
  Exisfng	
  Code	
  
•  Android実機転送	
  
  •  Run	
  >	
  Run	
  
テンプレートプロジェクトから学ぶ	
 
•  プロジェクトには次のディレクトリがある	
 
 •  Classes	
  
       èソースファイルを格納	
  
 •  Resources	
  
       è画像・音声などのリソースファイルを格納	
  
•  最初に用意されているクラスは次の2つ	
 
 •  AppDelegateクラス	
  
 •  HelloWorldクラス
テンプレートプロジェクトから学ぶ	
 
•  AppDelegateには次のメソッドがある	
 
 •  applicafonDidFinishLaunching()	
  
    •  アプリ起動時に処理され、アプリのセッティングを行う	
 
    •  最初のシーンを呼び出す	
 
 •  applicafonDidEnterBackground()	
  
    •  アプリがスリープする時に処理され、アプリの停止を行う	
 
 •  applicafonWillEnterForeground()	
  
    •  アプリ復帰時に処理され、アプリの再開を行う
テンプレートプロジェクトから学ぶ	
 
 •  HelloWorldScene.cppファイルのpSpriteをさわってみる	
 
  •  位置変更	
 
      pSprite-­‐>setPosifon(	
  ccp(0,	
  0)	
  );	
  
  •  拡大・縮小	
 
      pSprite-­‐>setScale(2.0f);	
  
  •  回転	
 
      pSprite-­‐>setRotafon(90.0f);	
  
  •  アンカーポイント	
 
      pSprite-­‐>setAnchorPoint(	
  ccp(0,	
  0)	
  );	
  
  •  透過	
 
      pSprite-­‐>setOpacity(127);	
  
テンプレートプロジェクトから学ぶ	
 
    •  オブジェクトを移動させてみる	
 
         2秒で画面右端へ移動する	
 


CCMoveTo*	
  move	
  =	
  CCMoveTo::create(2.0f,	
  ccp(size.width,	
  size.height/2)	
  );	
  
pSprite-­‐>runAcfon(move);	
  
テンプレートプロジェクトから学ぶ	
 
•  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
今後の勉強方法について	
 
 •  cocos2d-­‐x	
  Wikiを調べる	
  
      h=p://www.cocos2d-­‐x.org/projects/cocos2d-­‐x/wiki	
  
 •    cocos2d-­‐x	
  Referenceを調べる	
  
 •    TestCppで調べる	
  
 •    ググってみる	
  
 •    cocos2d-­‐x	
  フォーラムで質問する	
  
 •    cocos2d-­‐x.jp	
  communityで質問する

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

  • 1.
  • 2.
    清水 友晶 • 株式会社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  
  • 3.
    •  h=p://cocos2d-­‐x.jp   •  cocos2d-­‐x開発元Chukong  Technologies社公認   •  cocos2d-­‐xのための自由なコミュニティー   •  入門者から上級者まで誰でもOK!!ぜひご参加を!   •  cocos2d-­‐xに関することなら何でも投稿できます!!   •  h=ps://www.facebook.com/groups/152840204871454/  
  • 4.
    •  現在のshinjuku.cocos2d-­‐xハンズオンの問題点   •  Macユーザのみを対象としている。   •  徐々にレベルが上がってきているため初心者ついてこれ ない。   •  将来のshinjuku.cocos2d-­‐xハンズオン   •  Windowsユーザ,  Macユーザを区別しない   •  レベルは変えない   •  shinjuku.cocos2d-­‐x初心者ハンズオン  
  • 5.
    •  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アプリを作ろう!〜
  • 6.
    目次 •  cocos2d-­‐xの紹介   •  cocos2d-­‐xの開発環境を整える   •  テンプレートプロジェクトから学ぶ   •  今後の勉強方法について  
  • 7.
    cocos2d-­‐xの紹介 •  2Dゲームフレームワーク   •  オープンソース(MITライセンス)   •  マルチプラットフォーム開発   •  Android,  iOS,  …(7種類)   •  Win32,  Mac,  Linux   •  開発言語  …  C++,  Lua,  Javascript   •  どんなことができるのか?    èTestCPPを見てみましょう
  • 8.
    Androidアプリを   cocos2d-­‐xで作るメリット •  オープンソース(MITライセンス)   •  無償   •  ソース公開   •  クロスプラットフォーム開発   •  開発期間の短縮   •  資産の有効活用   •  効率化   •  画像処理のパフォーマンスアップ   •  cocos2d  for  iphoneからの移行が容易   •  Android  SDKを詳しく知らなくてもアプリを作成すること ができる
  • 9.
    Androidアプリを   cocos2d-­‐xで作るデメリット •  ネイティブ間の連携が面倒   •  JNIを利用しなければいけない   •  デバッグが面倒   •  常にログの確認が必要   •  ログで判別不可能な場合もある  
  • 10.
    cocos2d-­‐xの開発環境を整える •  cocos2d-­‐xインストール   •  Android  SDK  +  Eclipseインストール   •  Android  NDKインストール   •  ADT(Eclipse)の設定   •  プロジェクト作成   •  Android実機転送
  • 11.
    cocos2d-­‐xの開発環境を整える •  cocos2d-­‐xダウンロード   h=p://www.cocos2d-­‐x.org/projects/cocos2d-­‐x/wiki/Download   •  任意のディレクトリへ展開   /Users/Sumomo/cocos2d-­‐2.1rc0-­‐x-­‐2.1.2  
  • 12.
    cocos2d-­‐xの開発環境を整える •  Android  SDK  +  Eclipseダウンロード   h=p://developer.android.com/sdk/   •  任意のディレクトリへ展開   /Users/Sumomo/adt-­‐bundle-­‐mac  
  • 13.
    cocos2d-­‐xの開発環境を整える •  Android  NDKダウンロード   h=p://developer.android.com/tools/sdk/ndk/   •  任意のディレクトリへ展開   /Users/Sumomo/android-­‐ndk-­‐r8d  
  • 14.
    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  
  • 15.
    cocos2d-­‐xの開発環境を整える •  SDK  Manager起動   Window  >  Android  SDK  Manager   Android  2.2  (API  8)  >  SDK  Pladorm  
  • 16.
    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にプロジェクトが作成さ れる  
  • 17.
    cocos2d-­‐xの開発環境を整える •  Eclipseでプロジェクトを読込む   •  File  >  New  >  Project   •  Android  >  Android  Project  from  Exisfng  Code   •  Android実機転送   •  Run  >  Run  
  • 18.
    テンプレートプロジェクトから学ぶ •  プロジェクトには次のディレクトリがある •  Classes   èソースファイルを格納   •  Resources   è画像・音声などのリソースファイルを格納   •  最初に用意されているクラスは次の2つ •  AppDelegateクラス   •  HelloWorldクラス
  • 19.
    テンプレートプロジェクトから学ぶ •  AppDelegateには次のメソッドがある •  applicafonDidFinishLaunching()   •  アプリ起動時に処理され、アプリのセッティングを行う •  最初のシーンを呼び出す •  applicafonDidEnterBackground()   •  アプリがスリープする時に処理され、アプリの停止を行う •  applicafonWillEnterForeground()   •  アプリ復帰時に処理され、アプリの再開を行う
  • 20.
    テンプレートプロジェクトから学ぶ • HelloWorldScene.cppファイルのpSpriteをさわってみる •  位置変更 pSprite-­‐>setPosifon(  ccp(0,  0)  );   •  拡大・縮小 pSprite-­‐>setScale(2.0f);   •  回転 pSprite-­‐>setRotafon(90.0f);   •  アンカーポイント pSprite-­‐>setAnchorPoint(  ccp(0,  0)  );   •  透過 pSprite-­‐>setOpacity(127);  
  • 21.
    テンプレートプロジェクトから学ぶ •  オブジェクトを移動させてみる 2秒で画面右端へ移動する CCMoveTo*  move  =  CCMoveTo::create(2.0f,  ccp(size.width,  size.height/2)  );   pSprite-­‐>runAcfon(move);  
  • 22.
    テンプレートプロジェクトから学ぶ •  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
  • 23.
    今後の勉強方法について • cocos2d-­‐x  Wikiを調べる   h=p://www.cocos2d-­‐x.org/projects/cocos2d-­‐x/wiki   •  cocos2d-­‐x  Referenceを調べる   •  TestCppで調べる   •  ググってみる   •  cocos2d-­‐x  フォーラムで質問する   •  cocos2d-­‐x.jp  communityで質問する