Upload
tomoaki-shimizu
View
3.656
Download
4
Embed Size (px)
DESCRIPTION
Macでcocos2d-x 3.0alpha0を使用した、クロスプラットフォーム開発環境構築について
Citation preview
cocos2d-‐x 3.0 alpha0 クロスプラットフォーム開発環境構築について
清水 友晶
• 株式会社TKS2 スマートフォンアプリ開発Webコンテンツ開発
• 日本cocos2d-‐xユーザ会代表 cocos2d-‐xへの開発参加cocos2d-‐xを利用したアプリ開発講演活動執筆活動
• チラ裏開発メモ: h1p://tks2.net/memo • SlideShare: h1p://www.slideshare.net/doraemonsss
JavaScriptによる スマホゲーム開発入門
CocosBuilder
• 6/25発売 • 2,800円 + 税 • 400ページ
• 6/18発売 • 2,980円 + 税 • 312ページ
• 12月発売予定
• 日本cocos2d-‐xユーザ会 h1p://cocos2d-‐x.jp
• cocos2d-‐x開発元Chukong Technologies社公認 • cocos2d-‐xのための自由なコミュニティー • 入門者から上級者まで誰でもOK!!ぜひご参加を!(約900人) • cocos2d-‐xに関することなら何でも投稿できます!! • h1ps://www.facebook.com/groups/cocos2dxjp/
• 11/14 shinjuku.cocos2d-‐x初心者ハンズオン 〜cocos2d-‐xを利用したクロスプラットフォーム開発環境構築〜
• 11/21 第14回 shinjuku.cocos2d-‐x 〜cocos2d-‐xにおけるデータ管理〜
• 12/12 shinjuku.cocos2d-‐x初心者ハンズオン 〜CocosBuilderを利用した開発の進め方〜
• 12/13 gumi Study Special • 12/19 第15回 shinjuku.cocos2d-‐x • 1/M shinjuku.cocos2d-‐x初心者ハンズオン 〜cocos2d-‐xを利用したクロスプラットフォーム開発環境構築〜
• 1/M 第16回 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, Microsob, ARM, Intel, BlackBerryの開発者が参加している
開発の手順
• iOSとAndroidのクロスプラットフォーム開発の場合 (開発元の推奨する手順)
iOS Android
Xcode 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.0alpha0
iOS向け開発環境の構築
• Mac App StoreよりXcodeダウンロード
iOS向け開発環境の構築
• project-‐creatorによるプロジェクト作成 cocos2d-‐x-‐3.0alpha0/ create-‐mulf-‐plahorm-‐projects.py • ディレクトリ移動
cd cocos2d-‐x-‐3.0alpha0/ • create-‐mulf-‐plahorm-‐projects.py実行
./create-‐mulf-‐plahorm-‐projects.py -‐p MyProject -‐k net.tks2.myproject -‐l cpp • オプション • -‐p … プロジェクト名 • -‐k … パッケージ名 • -‐l … 言語(cpp, lua, javascript)
• cocos2d-‐x-‐3.0alpha0/projectsにプロジェクトが作成される
iOS向け開発環境の構築 • プロジェクトをXcodeで起動 • cocos2d-‐x-‐3.0alpha0/projects/MyProject/proj.ios_mac/MyProject.xcodeproj
• 「HelloCpp iOS」のスキーマを選択 • iOS実機・シミュレータ起動 • Run
Android向け開発環境の構築
• cocos2d-‐xインストール • Android SDK + Eclipseインストール • Android NDKインストール • ADT(Eclipse)の設定 • プロジェクト作成 • Android実機転送
Android向け開発環境の構築
• cocos2d-‐xダウンロード h1p://www.cocos2d-‐x.org/download
• 任意のディレクトリへ展開 /Users/Sumomo/cocos2d-‐x-‐3.0alpha0
Android向け開発環境の構築
• Android SDK + Eclipseダウンロード 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向け開発環境の構築
• SDK Manager起動 Window > Android SDK Manager Android 2.3.3 (API 10) > SDK Plahorm
Android向け開発環境の構築
• Eclipseの設定 • Eclipse起動 • ADT(Eclipse) > 環境設定
• General > Workspace > Linked Resources • COCOS2DX è cocos2dxのディレクトリ
• C/C++ > Build > Environment • NDK_ROOT è Android NDKのディレクトリ
• libcocos2dxプロジェクトのインポート • File > New > Project
cocos2d-‐x-‐3.0alpha0/cocos2dx/plahorm/android/java
Android向け開発環境の構築
• project-‐creatorによるプロジェクト作成 cocos2d-‐x-‐3.0alpha0/ create-‐mulf-‐plahorm-‐projects.py • ディレクトリ移動
cd cocos2d-‐x-‐3.0alpha0/ • create-‐mulf-‐plahorm-‐projects.py実行
./create-‐mulf-‐plahorm-‐projects.py -‐p MyProject -‐k net.tks2.myproject -‐l cpp • オプション • -‐p … プロジェクト名 • -‐k … パッケージ名 • -‐l … 言語(cpp, lua, javascript)
• cocos2d-‐x-‐3.0alpha0/projectsにプロジェクトが作成される
Android向け開発環境の構築
• Eclipseでプロジェクトを読込む • File > New > Project • Android > Android Project from Exisfng Code
• Android実機転送(シミュレータでも可) • Run > Run
テンプレートプロジェクトから学ぶ
• プロジェクトには次のディレクトリがある • 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秒で画面右端へ移動する
MoveTo* 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に詳しい友人を作る