macでcocos2d-x...

28
cocos2dx 3.0 beta クロスプラットフォーム開発環境構築について

Upload: tomoaki-shimizu

Post on 25-Jun-2015

5.890 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

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

cocos2d-­‐x  3.0  beta クロスプラットフォーム開発環境構築について

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

清水 友晶

•  株式会社TKS2  スマートフォンアプリ開発Webコンテンツ開発  

•  日本cocos2d-­‐xユーザ会代表  cocos2d-­‐xへの開発参加cocos2d-­‐xを利用したアプリ開発講演活動執筆活動

•  チラ裏開発メモ:  h1p://tks2.net/memo  •  SlideShare:  h1p://www.slideshare.net/doraemonsss  

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

•  6/25発売  •  2,800円 + 税  •  400ページ

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

| 日経ソフトウェア2014年2月号

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

•  日本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/  

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

•  1/16  shinjuku.cocos2d-­‐x初心者ハンズオン     〜cocos2d-­‐xを利用したクロスプラットフォーム開発環境構築〜

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

•  2/20  第17回 shinjuku.cocos2d-­‐x  

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

目次

•  cocos2d-­‐xの紹介  •  cocos2d-­‐xの開発環境を整える  •  iOS  •  Android  

•  テンプレートプロジェクトから学ぶ  •  今後の勉強方法について  

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

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の開発者が参加している

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

開発の手順

•  iOSとAndroidのクロスプラットフォーム開発の場合  

iOS Android

Xcode Ant or Eclipse

メインで開発 たまに確認

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

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

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

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

•  cocos2d  for  iPhoneからの移行が容易  •  cocos2d  for  iPhoneとクラス名が同じ

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

cocos2d-­‐xで作るデメリット •  ネイティブ間の連携が面倒  •  Androidの場合、C++から  Android  SDKへのアクセス  (JNIを使用する必要がある)  

•  iOSの場合、C++からObjecfve-­‐Cへの  アクセス  (Objecfve-­‐C++があるため   比較的容易)  

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

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

iOS向け開発環境の構築

•  cocos2d-­‐xインストール  •  Xcodeインストール  •  プロジェクト作成  •  iOS実機・シミュレータでの起動

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

iOS向け開発環境の構築

•  cocos2d-­‐xダウンロード  h1p://www.cocos2d-­‐x.org/download  

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

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

iOS向け開発環境の構築

•  Mac  App  StoreよりXcodeダウンロード  

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

iOS向け開発環境の構築

•  project-­‐creatorによるプロジェクト作成  cocos2d-­‐x-­‐3.0beta/tools/project-­‐creator/create_project.py  •  ターミナルでcreate_project.pyを実行  •  createボタンでプロジェクトを作成  

•  {projectPath}/{projectName}にプロジェクトが作成される  

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

iOS向け開発環境の構築 •  プロジェクトをXcodeで起動  •  MyProject/proj.ios_mac/MyProject.xcodeproj  

•  iOS実機・シミュレータ起動  •  Run  

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

Android向け開発環境の構築

•  cocos2d-­‐xインストール  •  Android  SDKインストール  •  Android  NDKインストール  •  Apache  ANTインストール  •  プロジェクト作成  •  Android実機転送

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

Android向け開発環境の構築

•  cocos2d-­‐xダウンロード  h1p://www.cocos2d-­‐x.org/download  

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

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

Android向け開発環境の構築

•  Android  SDKダウンロード  h1p://developer.android.com/sdk/  

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

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

Android向け開発環境の構築

•  Android  NDK  r9b  (64bit)ダウンロード  h1p://developer.android.com/tools/sdk/ndk/  

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

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

Android向け開発環境の構築

•  project-­‐creatorによるプロジェクト作成  cocos2d-­‐x-­‐3.0beta/tools/project-­‐creator/create_project.py  •  ターミナルでcreate_project.pyを実行  •  createボタンでプロジェクトを作成  

•  {projectPath}/{projectName}にプロジェクトが作成される  

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

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

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

Android向け開発環境の構築

•  buil_nafve.pyによりビルドを行う  •  build_nafve.py  –p  19  –b  debug  

•  Android実機転送  •  ant  debug  install  

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

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

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

èソースファイルを格納  

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

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

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

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

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

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

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

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

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

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

sprite-­‐>setPosifon(  Point(0,  0)  );  

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

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

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

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

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

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

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

auto  move  =  MoveTo::create(2.0f,  Point(size.width,  size.height  /  2));  sprite-­‐>runAcfon(move);  

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

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

•  Acfon  h1p://www.cocos2d-­‐x.org/reference/nafve-­‐cpp/V3.0alpha0/db/d61/classcocos2d_1_1_acfon.html  •  移動  

MoveTo,  MoveBy  •  回転  

RotateTo,  RotateBy  

•  フェードイン・フェードアウト  FadeIn,  FadeOut

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

今後の勉強方法について

•  cocos2d-­‐x  Wikiを調べる  h1p://www.cocos2d-­‐x.org/wiki  

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