cocos2d-­‐x	
  3.0	
  beta	
 
クロスプラットフォーム開発環境構築について
清水	
 友晶	
 
•  株式会社TKS2	
  
スマートフォンアプリ開発

Webコンテンツ開発	
  
•  日本cocos2d-­‐xユーザ会代表	
  
cocos2d-­‐xへの開発参加

cocos2d-­‐xを利用したアプリ開発

講演活動

執筆活動	
 
•  チラ裏開発メモ:	
  h1p://tks2.net/memo	
  
•  SlideShare:	
  h1p://www.slideshare.net/doraemonsss	
  
•  6/25発売	
  
•  2,800円	
 +	
 税	
  
•  400ページ	
 

•  6/18発売	
  
•  2,980円	
 +	
 税	
  
•  312ページ	
  

|  日経ソフトウェア

2014年2月号
•  日本cocos2d-­‐xユーザ会	
  
h1p://cocos2d-­‐x.jp	
  
•  cocos2d-­‐x開発元Chukong	
  Technologies社公認	
  
•  cocos2d-­‐xのための自由なコミュニティー	
  
•  入門者から上級者まで誰でもOK!!ぜひご参加を!(約1,100人)	
  
•  cocos2d-­‐xに関することなら何でも投稿できます!!	
  
•  Chukong	
  Technologies社の開発者も投稿しています!!	
  
•  h1ps://www.facebook.com/groups/cocos2dxjp/	
  
•  1/16	
  shinjuku.cocos2d-­‐x初心者ハンズオン	
  

   〜cocos2d-­‐xを利用したクロスプラットフォーム開発環境構築〜	
 

•  1/23	
  第16回	
 shinjuku.cocos2d-­‐x	
  
   〜cocos2d-­‐xにおけるデータ管理〜	
  

•  2/20	
  第17回	
 shinjuku.cocos2d-­‐x	
  
目次	
 
•  cocos2d-­‐xの紹介	
  
•  cocos2d-­‐xの開発環境を整える	
  
•  iOS	
  
•  Android	
  

•  テンプレートプロジェクトから学ぶ	
  
•  今後の勉強方法について	
  
cocos2d-­‐xとは	
 
•  2Dゲームフレームワーク	
  
•  オープンソース(MITライセンス)	
  
•  マルチプラットフォーム開発(10数種類)	
  
•  Android	
  2.3	
  ~,	
  iOS	
  5.0	
  ~,	
  Windows	
  
Phone	
  8,	
  Windows	
  7	
  ~,	
  Mac	
  OS	
  X	
  10.7	
  ~	
  
•  開発言語	
  …	
  C++,	
  Lua,	
  Javascript	
  
•  公式に発表されているだけでもZynga,	
  Wooga,	
  Gamevil,	
  Glu,	
  GREE,	
  
Konami,	
  TinyCo,	
  HandyGames,	
  IGG,	
  Disney	
  Mobileなどがゲームやアプ
リに採用している	
  
•  公式コミュニティでは、Chukong,	
  Google,	
  Microsoa,	
  ARM,	
  Intel,	
  
BlackBerryの開発者が参加している
開発の手順	
 
•  iOSとAndroidのクロスプラットフォーム開発の場合	
  

メインで開発

たまに確認

iOS

Android

Xcode

Ant or Eclipse
cocos2d-­‐xで作るメリット	
 
•  オープンソース(MITライセンス)	
  
•  無償	
  
•  ソース公開	
  

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

•  効率化	
  
•  OpenGLを知らなくても、パフォーマンスの高い画像処
理を行うことができる	
  

•  cocos2d	
  for	
  iPhoneからの移行が容易	
  
•  cocos2d	
  for	
  iPhoneとクラス名が同じ
cocos2d-­‐xで作るデメリット	
 
•  ネイティブ間の連携が面倒	
  
•  Androidの場合、C++から	
  
Android	
  SDKへのアクセス	
  
(JNIを使用する必要がある)	
  
•  iOSの場合、C++からObjecfve-­‐Cへの	
  
アクセス	
  
(Objecfve-­‐C++があるため	
  
 比較的容易)	
  

•  cocos2d-­‐xはフレームワークであるため、画面構成やアニ
メーションの作成に時間がかかる	
  
•  別途エディタを利用する	
  
iOS向け開発環境の構築	
 
• 
• 
• 
• 

cocos2d-­‐xインストール	
  
Xcodeインストール	
  
プロジェクト作成	
  
iOS実機・シミュレータでの起動
iOS向け開発環境の構築	
 
•  cocos2d-­‐xダウンロード	
  
h1p://www.cocos2d-­‐x.org/download	
  

•  任意のディレクトリへ展開	
  
/Users/Sumomo/cocos2d-­‐x-­‐3.0beta	
  
iOS向け開発環境の構築	
 
•  Mac	
  App	
  StoreよりXcodeダウンロード	
  
iOS向け開発環境の構築	
 
•  project-­‐creatorによるプロジェクト作成	
  
cocos2d-­‐x-­‐3.0beta/tools/project-­‐creator/create_project.py	
  
•  ターミナルでcreate_project.pyを実行	
  
•  createボタンでプロジェクトを作成	
  

•  {projectPath}/{projectName}にプロジェクトが作成され
る	
  
iOS向け開発環境の構築	
 
•  プロジェクトをXcodeで起動	
  

•  MyProject/proj.ios_mac/MyProject.xcodeproj	
  

•  iOS実機・シミュレータ起動	
  
•  Run	
  
Android向け開発環境の構築	
 
• 
• 
• 
• 
• 
• 

cocos2d-­‐xインストール	
  
Android	
  SDKインストール	
  
Android	
  NDKインストール	
  
Apache	
  ANTインストール	
  
プロジェクト作成	
  
Android実機転送
Android向け開発環境の構築	
 
•  cocos2d-­‐xダウンロード	
  
h1p://www.cocos2d-­‐x.org/download	
  

•  任意のディレクトリへ展開	
  
/Users/Sumomo/cocos2d-­‐x-­‐3.0beta	
  
Android向け開発環境の構築	
 
•  Android	
  SDKダウンロード	
  
h1p://developer.android.com/sdk/	
  

•  任意のディレクトリへ展開	
  
/Users/Sumomo/adt-­‐bundle-­‐mac	
  
Android向け開発環境の構築	
 
•  Android	
  NDK	
  r9b	
  (64bit)ダウンロード	
  
h1p://developer.android.com/tools/sdk/ndk/	
  

•  任意のディレクトリへ展開	
  
/Users/Sumomo/android-­‐ndk-­‐r9b	
  
Android向け開発環境の構築	
 
•  project-­‐creatorによるプロジェクト作成	
  
cocos2d-­‐x-­‐3.0beta/tools/project-­‐creator/create_project.py	
  
•  ターミナルでcreate_project.pyを実行	
  
•  createボタンでプロジェクトを作成	
  

•  {projectPath}/{projectName}にプロジェクトが作成され
る	
  
Android向け開発環境の構築	
 
•  パスの設定	
  
•  ~/.bash_profile	
  
•  NDK_ROOT	
  
•  ANDROID_SDK_ROOT	
  

例:	
  
NDK_ROOT=/Users/Tomoaki/android-ndk-r9b!
export NDK_ROOT!
ANDROID_SDK_ROOT=/Users/Tomoaki/adt-bundle-mac-x86_64-20131030/sdk!
export ANDROID_SDK_ROOT
Android向け開発環境の構築	
 
•  buil_nafve.pyによりビルドを行う	
  
•  build_nafve.py	
  –p	
  19	
  –b	
  debug	
  

•  Android実機転送	
  
•  ant	
  debug	
  install	
  
テンプレートプロジェクトから学ぶ	
 
•  プロジェクトには次のディレクトリがある	
 
•  Classes	
  
èソースファイルを格納	
  

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

•  最初に用意されているクラスは次の2つ	
 
•  AppDelegateクラス	
  
•  HelloWorldクラス
テンプレートプロジェクトから学ぶ	
 
•  AppDelegateには次のメソッドがある	
 
•  applicafonDidFinishLaunching()	
  
•  アプリ起動時に処理され、アプリのセッティングを行う	
 
•  最初のシーンを呼び出す	
 

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

•  applicafonWillEnterForeground()	
  
•  アプリ復帰時に処理され、アプリの再開を行う
テンプレートプロジェクトから学ぶ	
 
•  HelloWorldScene.cppファイルのspriteをさわってみる	
 
•  位置変更	
 
sprite-­‐>setPosifon(	
  Point(0,	
  0)	
  );	
  

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

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

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

•  透過	
 
sprite-­‐>setOpacity(127);	
  
テンプレートプロジェクトから学ぶ	
 
•  オブジェクトを移動させてみる	
 
2秒で画面右端へ移動する	
 
auto	
  move	
  =	
  MoveTo::create(2.0f,	
  Point(size.width,	
  size.height	
  /	
  2));	
  
sprite-­‐>runAcfon(move);	
  
テンプレートプロジェクトから学ぶ	
 
•  Acfon	
  
h1p://www.cocos2d-­‐x.org/reference/nafve-­‐cpp/V3.0alpha0/db/
d61/classcocos2d_1_1_acfon.html	
  
•  移動	
  
MoveTo,	
  MoveBy	
  

•  回転	
  
RotateTo,	
  RotateBy	
  

•  フェードイン・フェードアウト	
  
FadeIn,	
  FadeOut
今後の勉強方法について	
 
•  cocos2d-­‐x	
  Wikiを調べる	
  
h1p://www.cocos2d-­‐x.org/wiki	
  

• 
• 
• 
• 
• 
• 

cocos2d-­‐x	
  Referenceを調べる	
  
TestCppで調べる	
  
ググってみる	
  
cocos2d-­‐x	
  フォーラムで質問する	
  
cocos2d-­‐x.jp	
  communityで質問する	
  
cocos2d-­‐xに詳しい友人を作る

Macでcocos2d-x 3.0betaを使用した、クロスプラットフォーム開発環境構築について