Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
-
Upload
tomoaki-shimizu -
Category
Technology
-
view
6.351 -
download
3
description
Transcript of Macでcocos2d-x 2.1.2を使用した、Androidアプリの開発環境構築について
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で質問する