【cocococos 2 D-x学習】1.配置環境
9137 ワード
【cocococos 2 D-x学習】1.配置環境
【ターゲット】:
windowsプラットフォームとandroidプラットフォームでcocococos 2 d-xのsampleプログラムを実行します。
【参考】:
「Cocos 2 d-x win 7+vs 2010配置図文詳細(親測定)」: http://www.cnblogs.com/andyque/archive/2011/09/27/2192928.html
「cocococos 2 d-x入門(7)-win 7でwin 32ゲームをAndroidプラットフォームに移植する(cygwinとminigwは不要)」: http://codingnow.cn/cocos2d-x/706.html
「Cocos 2 d-x+Android+Windows 7」: http://www.cnblogs.com/graphicsme/archive/2012/11/06/2756914.html
「Cococos 2 d-x学習のwindows 7 android環境構築」: http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html
完全なcococococos 2 D-xプロジェクトはプラットフォームを跨ぐプロジェクトであるべきで、複数のプラットフォームで動作することができます。ここではハードウェアの制限を受けて、WindowsプラットフォームとAndroidプラットフォームの配置方案だけを提供します。
一、windowsで運行します。
windowsで運行しやすいし、コードはプラットフォームをまたいで共有できるから(もちろん絶対ではないです。)まずwindowsを配置してもいいです。
1、cocococos 2 D-xをダウンロードする
私が使っているのはhttp://cocos2d-x.googlecode.com/files/cocos2d-2.0-x-2.0.4.zip を選択します。最新バージョンは http://cocos2d-x.org/projects/cocos2d-x/wiki/Download で見つけます
2、SAMPLEプロジェクトを実行する
VSL 2010を使っていますので、開けます。 cococococos 2 d-win 32.vc 2010.slonは、複数のWIN 32プロジェクトとLIBプロジェクトが含まれており、任意のWIN 32プロジェクトを起動プロジェクトとして選択すれば実行できます。
3、新規プロジェクトの作成
これは次のセクションで詳しく検討します。
二、androidで運行する
windowsと比べて、androidで運行する配置はずっと複雑です。ここではWindowsの設定が完了したと仮定して、少なくともcocococos 2 Dをダウンロードしました。また、本機には既にeclipseが設置されています。そして、すでにAndroid開発環境があります。
1、cygwinをダウンロードしてインストールする
ここでは特に説明します。新しいプロジェクトではないなら、新しいNDKのサポートの下でcygwinを配置する必要はありません。では、新しいプロジェクトを試みる時に、cocococosの中のsampleプロジェクトを直接コピーして修正することができます。テンプレートを通じて新しいcocosプロジェクトを作成するにはcygwinをダウンロードする必要があります。
ダウンロードの住所:http://www.cygwin.com/を選択します。また、一般のソフトとは違って、cygwinのダウンロード時の設定は、デフォルトでは何もダウンロードしないので、手動でリストからダウンロードするコンテンツを選択する必要があります。具体的にはcygwinのダウンロードについて参考にしてください。 http://www.programarts.com/cfree_ch/doc/help/UsingCF/Compler Support/Cygwin/Cygwin 1.httm【主に私がcygwinを配置する時間が長くなりました。記憶があまりはっきりしなくなりました。ここでは詳しく展開しません。】
2、CDTの設置
直接インストールされたeclipseのC++バージョンであれば、このステップをスキップすることができます。オンラインインストールの住所は CDT-http://download.eclipse.org/tools/cdt/releases/juno (私のeclipseはJUNO版です)
3、NDKの設置
以前の攻略はcgywinをインストールしなければなりません。目的はプロジェクトにCコンパイラを提供することですが、現在は新しいNDKバージョンはコンパイラを持っていますので、このステップをスキップして直接にNDKをインストールすることができます。私が使っているのはhttp://dl.google.com/android/ndk/android-ndk-r8b-windows.zip , 最新バージョンはhttp://developer.android.com/tools/sdk/ndk/index.html で見つけます
NDKをインストールしてから、準備が完了したら、cocococococosのsampleディレクトリのHello Cppプロジェクトをeclipseで開けてテストします。【開く方法はAndroidアプリfrom existing code】。
4、コンパイル依存を追加
プロジェクトを開くと、コンパイルエラーが発生します。明らかにCocococos 2 dxActivityなどは配置しないと見つけられません。Properties>Java Build path>Link Sourceで、E:cococococococos 2 d-2.0-x-2.04\cocococococococococococococococococococococococococococococococococococococococococococos 2 dx 2 dx 2 dx\plots 2 dx\plots 2 dx\plots 2 dx\plot
5、リソースファイルをコピーする
Hello Cppのリソースファイルはルートディレクトリの下のresourceの中にあります。androidプロジェクトでは引用できません。簡単な解決策はそのresourceの下のすべてのファイルとフォルダをandroidの下のassetフォルダにコピーします。
6、builderを追加する
参考になるhttp://codingnow.cn/cocos2d-x/706.html の配置について説明します。ここでは簡単なテキスト説明を提供します。
1)工事中の Propties->Buiders->New->Program->OKは、新しいブライダルを作成します。
2)mainページでは、Location選択ndk下のndk-build.cmdコマンドは、ローカルの設定は E:\java\android-ndk-r 8 edk-build.cmd, Working Directory記入 ${work spaceコク:/ ハローCpp) 【Browse workspaceをクリックすることで選択できます】。そのうち Hello Cppは工事名です。今後は他の工事に対してこの名称を修正する必要があります。
3)refreshページで最初のチェックボックス「Refresh resource up on complection」にチェックを付け、最後の「Speicific resource」を選んで「Recursively include sub-folders」にチェックを付けて、Specify Resourceで本プロジェクトのJNIフォルダを選択します。
4)Eviromentページに、追加 NDK_MODULE_PATH E:\Cococococos 2 d-2.0-x-2.0.4;E:\Cocococococos 2 d-2.0-x-2.0.4\cocococococos 2 dx\plotform\third_party\android\prebuilt
5)Build Optionページでは、Run this builderのすべてのチェックボックスを選択し、Specify working set of relevant reourceにチェックし、Specify Resourceで本プロジェクトのJNIフォルダを選択します。
6)OK、このビルダーをクリックして「名前を付けてあげることを忘れないでください」とUPをクリックして1位に移動させます。
7、運転
すべての作業はすでに完了しました。実行は選択できますが、仮想マシンで実行するとエラーが発生します。シミュレータがグーグル2.0をサポートしていないためです。設定が必要です。ここでは迷惑を恐れて直接に本物の機械を使ってテストすればいいです。MoonWarriorsなどの他の工程テストもPASSですが、C部分のコンパイルが完了するまで待つ必要があります。時間がかかります。
三、新たなandroidプロジェクトを創建する。
新しいwindowsプロジェクトを作成して、次のセクションで説明します。ここでスキップして直接androidと言います。このところは勉強です http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html
1、修正 create-android-project.bat
作成したコアコンテンツは、cocococos 2 Dフォルダの下に実行されます。 create-android-project.batですが、このbatファイルには多くの問題がありますので、手動で修正してください。
まず、私のWIN 7パソコンでは、直接運行は権限の問題で正常に動作できないので、権限を追加してください。 set localを追加する前に cd/d%~dp 0:
今は運行できます create-android-project.batですが、WIN 7のプラットフォームであれば、必ず右ボタンで「管理者として運行します」を選択してください。さもなければ、権限が足りないと正常に作成できません。
2、権限の変更
作成されたプロジェクトはWIN 7プラットフォームでまだ問題があります。いくつかのファイルの権限設定は全部読めないので、手動で権限を設定してください。ここで「日月の明」の方法を借ります。
3、eclipseに導入する
残りの仕事は第二節の4~7歩と同じです。
四、WIN 32でデバッグした工程をandroidプラットフォームに移植する。
1、から フォルダ
ヘッダファイルとコードファイルを含めて、もちろんJNIの下に置いてはいけませんが、このフォルダは自動的にコンパイルされていますので、ここに置いたほうが便利です。以下は自分でフォルダを作って分類します。
2、修正 Android.mk
2.1 変更 LOCAL_SRC_FILES
コードファイルを追加するパスです。ここでファイルを一つ追加するのは面倒くさいです。「Android.mkのLOCAL_SRC_FILESの究極のテクニック」を参照してください。例えばJNIフォルダの下のmain.cppとsrc経路の下のすべてのcppファイルを追加したいです。
ヘッダファイルのパスを追加しても、元のインポートを参照できます。 Classフォルダの方法。
2.3 変更 LOCAL_WHOSE_STATIC_LIBRIIESと import module
デフォルトでは、box 2 dエンジンは持っていません。必要でないなら、このブロックを管理しないでください。box 2 Dエンジンを使うなら、LOCAL_が必要です。WHOSE_STATIC_LIBREIESにbox 2 d_を追加します。staticは、import moduleにbox 2 Dを追加します。
NDK R 9以上でここを修正して、Application.mkに下記のコードを追加します。
APP_.CPPFLAGS+=-Wno-error=format-security
さもないとコンパイルできません。
4、修正 main.cpp
私が建設したプロジェクトは通常元のハローワールドSceneを全部消しますが、main.cppの中でincludeはこの書類に来ました。しかし実際には使われていませんので、元のincludeを削除する必要があります。
5、リソースファイルをコピーする
上の第二節と同じですが、忘れやすいので、ここでもう一度注意します。
6、プラットフォーム差異コードを修正する
このステップが一番面倒くさいです。主に2つの態様が含まれており、一つは元のプロジェクトがプラットフォームに依存する方法を導入したことであり、例えばwin 32に持参されたマクロを参照して、min maxのようなものである。修正が必要です。一方、コンパイラ自体に違いがあります。私が遭遇した問題の一つは、ndkのコンパイラが「引用」を認識できないことです。cctPointパラメータはcctPoint&を必要とするところでは使えないので、かなり挫折しています。
7、運転
元のテンプレートプロジェクトの方法で実行すればいいです。
【ターゲット】:
windowsプラットフォームとandroidプラットフォームでcocococos 2 d-xのsampleプログラムを実行します。
【参考】:
「Cocos 2 d-x win 7+vs 2010配置図文詳細(親測定)」: http://www.cnblogs.com/andyque/archive/2011/09/27/2192928.html
「cocococos 2 d-x入門(7)-win 7でwin 32ゲームをAndroidプラットフォームに移植する(cygwinとminigwは不要)」: http://codingnow.cn/cocos2d-x/706.html
「Cocos 2 d-x+Android+Windows 7」: http://www.cnblogs.com/graphicsme/archive/2012/11/06/2756914.html
「Cococos 2 d-x学習のwindows 7 android環境構築」: http://www.cnblogs.com/lhming/archive/2012/06/27/2566460.html
完全なcococococos 2 D-xプロジェクトはプラットフォームを跨ぐプロジェクトであるべきで、複数のプラットフォームで動作することができます。ここではハードウェアの制限を受けて、WindowsプラットフォームとAndroidプラットフォームの配置方案だけを提供します。
一、windowsで運行します。
windowsで運行しやすいし、コードはプラットフォームをまたいで共有できるから(もちろん絶対ではないです。)まずwindowsを配置してもいいです。
1、cocococos 2 D-xをダウンロードする
私が使っているのはhttp://cocos2d-x.googlecode.com/files/cocos2d-2.0-x-2.0.4.zip を選択します。最新バージョンは http://cocos2d-x.org/projects/cocos2d-x/wiki/Download で見つけます
2、SAMPLEプロジェクトを実行する
VSL 2010を使っていますので、開けます。 cococococos 2 d-win 32.vc 2010.slonは、複数のWIN 32プロジェクトとLIBプロジェクトが含まれており、任意のWIN 32プロジェクトを起動プロジェクトとして選択すれば実行できます。
3、新規プロジェクトの作成
これは次のセクションで詳しく検討します。
二、androidで運行する
windowsと比べて、androidで運行する配置はずっと複雑です。ここではWindowsの設定が完了したと仮定して、少なくともcocococos 2 Dをダウンロードしました。また、本機には既にeclipseが設置されています。そして、すでにAndroid開発環境があります。
1、cygwinをダウンロードしてインストールする
ここでは特に説明します。新しいプロジェクトではないなら、新しいNDKのサポートの下でcygwinを配置する必要はありません。では、新しいプロジェクトを試みる時に、cocococosの中のsampleプロジェクトを直接コピーして修正することができます。テンプレートを通じて新しいcocosプロジェクトを作成するにはcygwinをダウンロードする必要があります。
ダウンロードの住所:http://www.cygwin.com/を選択します。また、一般のソフトとは違って、cygwinのダウンロード時の設定は、デフォルトでは何もダウンロードしないので、手動でリストからダウンロードするコンテンツを選択する必要があります。具体的にはcygwinのダウンロードについて参考にしてください。 http://www.programarts.com/cfree_ch/doc/help/UsingCF/Compler Support/Cygwin/Cygwin 1.httm【主に私がcygwinを配置する時間が長くなりました。記憶があまりはっきりしなくなりました。ここでは詳しく展開しません。】
2、CDTの設置
直接インストールされたeclipseのC++バージョンであれば、このステップをスキップすることができます。オンラインインストールの住所は CDT-http://download.eclipse.org/tools/cdt/releases/juno (私のeclipseはJUNO版です)
3、NDKの設置
以前の攻略はcgywinをインストールしなければなりません。目的はプロジェクトにCコンパイラを提供することですが、現在は新しいNDKバージョンはコンパイラを持っていますので、このステップをスキップして直接にNDKをインストールすることができます。私が使っているのはhttp://dl.google.com/android/ndk/android-ndk-r8b-windows.zip , 最新バージョンはhttp://developer.android.com/tools/sdk/ndk/index.html で見つけます
NDKをインストールしてから、準備が完了したら、cocococococosのsampleディレクトリのHello Cppプロジェクトをeclipseで開けてテストします。【開く方法はAndroidアプリfrom existing code】。
4、コンパイル依存を追加
プロジェクトを開くと、コンパイルエラーが発生します。明らかにCocococos 2 dxActivityなどは配置しないと見つけられません。Properties>Java Build path>Link Sourceで、E:cococococococos 2 d-2.0-x-2.04\cocococococococococococococococococococococococococococococococococococococococococococos 2 dx 2 dx 2 dx\plots 2 dx\plots 2 dx\plots 2 dx\plot
5、リソースファイルをコピーする
Hello Cppのリソースファイルはルートディレクトリの下のresourceの中にあります。androidプロジェクトでは引用できません。簡単な解決策はそのresourceの下のすべてのファイルとフォルダをandroidの下のassetフォルダにコピーします。
6、builderを追加する
参考になるhttp://codingnow.cn/cocos2d-x/706.html の配置について説明します。ここでは簡単なテキスト説明を提供します。
1)工事中の Propties->Buiders->New->Program->OKは、新しいブライダルを作成します。
2)mainページでは、Location選択ndk下のndk-build.cmdコマンドは、ローカルの設定は E:\java\android-ndk-r 8 edk-build.cmd, Working Directory記入 ${work spaceコク:/ ハローCpp) 【Browse workspaceをクリックすることで選択できます】。そのうち Hello Cppは工事名です。今後は他の工事に対してこの名称を修正する必要があります。
3)refreshページで最初のチェックボックス「Refresh resource up on complection」にチェックを付け、最後の「Speicific resource」を選んで「Recursively include sub-folders」にチェックを付けて、Specify Resourceで本プロジェクトのJNIフォルダを選択します。
4)Eviromentページに、追加 NDK_MODULE_PATH E:\Cococococos 2 d-2.0-x-2.0.4;E:\Cocococococos 2 d-2.0-x-2.0.4\cocococococos 2 dx\plotform\third_party\android\prebuilt
5)Build Optionページでは、Run this builderのすべてのチェックボックスを選択し、Specify working set of relevant reourceにチェックし、Specify Resourceで本プロジェクトのJNIフォルダを選択します。
6)OK、このビルダーをクリックして「名前を付けてあげることを忘れないでください」とUPをクリックして1位に移動させます。
7、運転
すべての作業はすでに完了しました。実行は選択できますが、仮想マシンで実行するとエラーが発生します。シミュレータがグーグル2.0をサポートしていないためです。設定が必要です。ここでは迷惑を恐れて直接に本物の機械を使ってテストすればいいです。MoonWarriorsなどの他の工程テストもPASSですが、C部分のコンパイルが完了するまで待つ必要があります。時間がかかります。
三、新たなandroidプロジェクトを創建する。
新しいwindowsプロジェクトを作成して、次のセクションで説明します。ここでスキップして直接androidと言います。このところは勉強です http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html
1、修正 create-android-project.bat
作成したコアコンテンツは、cocococos 2 Dフォルダの下に実行されます。 create-android-project.batですが、このbatファイルには多くの問題がありますので、手動で修正してください。
まず、私のWIN 7パソコンでは、直接運行は権限の問題で正常に動作できないので、権限を追加してください。 set localを追加する前に cd/d%~dp 0:
@echo off
:: This script is used to create an android project.
:: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment.
:: Don't change it until you know what you do.
cd /d %~dp0
setlocal
そして、3つの環境変数を指定する必要があります。 _CYGBIN、 _ANDROIDTOOPS、 _NDKROOTは、それぞれコンピュータ上のcygwinのBINフォルダ、android SDKのTOOLフォルダ、NDKのフォルダに変更すればいいです。:: modify it to work under your environment
set _CYGBIN=e:\cygwin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
:: modify it to work under your environment
set _ANDROIDTOOLS=e:\java\android-sdk\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
:: modify it to work under your environment
set _NDKROOT=E:\java\android-ndk-r8e
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
これで修正が完了します。今は運行できます create-android-project.batですが、WIN 7のプラットフォームであれば、必ず右ボタンで「管理者として運行します」を選択してください。さもなければ、権限が足りないと正常に作成できません。
2、権限の変更
作成されたプロジェクトはWIN 7プラットフォームでまだ問題があります。いくつかのファイルの権限設定は全部読めないので、手動で権限を設定してください。ここで「日月の明」の方法を借ります。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@=" "
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@=" "
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@=" "
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
XXX.regとして保存し、実行すると、右ボタンに「管理者が所有権を取得する」という命令が出てきます。新しく作成したプロジェクトに対してこの命令を実行すると、権限問題を解決することができます。3、eclipseに導入する
残りの仕事は第二節の4~7歩と同じです。
四、WIN 32でデバッグした工程をandroidプラットフォームに移植する。
1、から フォルダ
ヘッダファイルとコードファイルを含めて、もちろんJNIの下に置いてはいけませんが、このフォルダは自動的にコンパイルされていますので、ここに置いたほうが便利です。以下は自分でフォルダを作って分類します。
2、修正 Android.mk
2.1 変更 LOCAL_SRC_FILES
コードファイルを追加するパスです。ここでファイルを一つ追加するのは面倒くさいです。「Android.mkのLOCAL_SRC_FILESの究極のテクニック」を参照してください。例えばJNIフォルダの下のmain.cppとsrc経路の下のすべてのcppファイルを追加したいです。
SRC_FILE_LIST := $(wildcard $(LOCAL_PATH)/src/*.cpp)
SRC_FILE_LIST += main.cpp
LOCAL_SRC_FILES := $(SRC_FILE_LIST:$(LOCAL_PATH)/%=%)
2.2 変更 LOCAL_C_INCLUDESヘッダファイルのパスを追加しても、元のインポートを参照できます。 Classフォルダの方法。
2.3 変更 LOCAL_WHOSE_STATIC_LIBRIIESと import module
デフォルトでは、box 2 dエンジンは持っていません。必要でないなら、このブロックを管理しないでください。box 2 Dエンジンを使うなら、LOCAL_が必要です。WHOSE_STATIC_LIBREIESにbox 2 d_を追加します。staticは、import moduleにbox 2 Dを追加します。
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions) \
$(call import-module,external/Box2D)
3、Application.mkを修正するNDK R 9以上でここを修正して、Application.mkに下記のコードを追加します。
APP_.CPPFLAGS+=-Wno-error=format-security
さもないとコンパイルできません。
4、修正 main.cpp
私が建設したプロジェクトは通常元のハローワールドSceneを全部消しますが、main.cppの中でincludeはこの書類に来ました。しかし実際には使われていませんので、元のincludeを削除する必要があります。
5、リソースファイルをコピーする
上の第二節と同じですが、忘れやすいので、ここでもう一度注意します。
6、プラットフォーム差異コードを修正する
このステップが一番面倒くさいです。主に2つの態様が含まれており、一つは元のプロジェクトがプラットフォームに依存する方法を導入したことであり、例えばwin 32に持参されたマクロを参照して、min maxのようなものである。修正が必要です。一方、コンパイラ自体に違いがあります。私が遭遇した問題の一つは、ndkのコンパイラが「引用」を認識できないことです。cctPointパラメータはcctPoint&を必要とするところでは使えないので、かなり挫折しています。
7、運転
元のテンプレートプロジェクトの方法で実行すればいいです。