如何搭建cocos2d-x的跨平台环境

Today we will start a tutorial on how to port the famous Cocos2dSimpleGame from objc to c++, using cocos2d-x engine, then run it on win32/iphone/android/wophone multi-platforms. The Cocos2dSimpleGame is written byRay Wenderlich. Almost every beginner of cocos2d-iphone has read his tutorial series.

First of all, you need to download the last stable version of cocos2d-x from http://download.cocos2d-x.org. It’s cocos2d-0.99.5-x-0.8.2 when I write this article, and then update the game source to 0.9.1. The infix 0.99.5 means this c++ port is based on the parent cocos2d-iphone 0.99.5, and the suffix 0.8.2 is the version of our cocos2d–x port.

The source of Cocos2dxSimpleGame is here http://www.cocos2d-x.org/attachments/535/Cocos2dxSimpleGame-0.9.1.rar, I have tested it with cocos2d-1.0.1-x-0.9.1.

Let’s begin. You can jump to your platform directly from this catalogue.

1. start with win32

cocos2d-win32 port is well tested on WinXP + VistualStudio2008/2010. But in vista/win7, I can not promise it runs well. Here’s a protal for unluck guys who cannot run this tutorial correctly on cocos2d-win32 port…

1.2 install Wizard on VisualStudio

After downloading and unziping the package, you can go to the cocos2d-x folder, click “build-win32.bat” to compile the whole project, then click "install-templates-msvc.bat" to install the wizard. The bat scripts adapt vs2008 or 2010 automaticlly. For more detail, please refer to this document Cocos2d-x Application Wizard for Visual Studio User Guide

1.3 Create a new cocos2d-win32 project

Now open cocos2d-x/cocos2d-win32.vc2008.sln via VS2008, we can see the libs here.

点击浏览下一页

Right click the “Solution ‘cocos2d-win32.vc2008’ “, then “Add->New Project”,

点击浏览下一页

select "cocos2d-x -> cocos2d-win32 Application", fill in the name box with "Cocos2dxSimpleGame", and use the default location setting.
NOTED: the location of games must stay in the directory of cocos2d-x root in win32 & wophone port.

点击浏览下一页

Click “OK -> Next”, uncheck Box2D because Cocos2dSimpleGame will not use physical system. Make sure “SimpleAudioEngine in CocosDenshion” is checked, then “Finished”.

点击浏览下一页

1.4 Build and Run

Now we can see the “Cocos2dxSimpleGame.win32” is created! Check the dependencies, our game depends on libcocos2d & libCocosDenshion now.

点击浏览下一页

Well, build and run it, normally, you can see the following picture, if you are not so unlucky.

点击浏览下一页

1.5 Portal for unlucky guys

Perhaps someone can not run this HelloWorld successfully on win32, because the cocos2d-win32 port bases on the PowerVR OpenGL ES 1.1 SDK for PC Emulation (Windows ista/XP version)
http://www.imgtec.com/PowerVR/insider/sdkdownloads/index.asp#GLES1b
We integrated the PowerVR libraries in the path
cocos2d-x-root/cocos2dx/platform/win32/third_party/libraries

So:
  • For win7 users: PowerVR has not release Windows7 port yet. But you still can have a try. Many win7 users in cocos2d-x community successfully run this case.
  • For winxp/vista users: If HelloWorld crashed at any glXXX or eglXXX function, please update the driver of your video card, goto the website of NVIDIA/ATI/INTEL to look for a last driver
  • For unlucky users: You can create cocos2d-x project in XCode manually, or goto church/temple to look for a better luck :p

2. Start with WoPhone

If you are a wophone developer, the steps of win32 above also fits you. There are only 3 differences:
  1. you must locate cocos2d-x-root in D:/Work7, wophone has a strict app path requirement.
  2. please open D:/Work7/cocos2d-x/cocos2d-wophone.sln via VS2008 instead of cocos2d-win32
  3. select “cocos2d-wophone application” in the “Add New Project” dialog, just like this

点击浏览下一页

And the result of cocos2d-wophone HelloWorld is

点击浏览下一页

3. Start with iPhone

We have templates for xcode now since version 0.8.2。 You can create cocos2d-x projects as easy as cocos2d-iphone projects.

At first, goto the root of cocos2d-x folder, then run the install-templates.sh in the mac shell

 
sudo ./install-templates-xcode.sh 

and you can choose your xcode version here, xcode3 or xcode4.
After the installation finisehd, you can start the Xcode, then click "Create a new Xcode project". You can see this dialog

点击浏览下一页

Select "cocos2d-x application", then click "choose", type in the project name. The cocos2d-x project will created by xcode for you.

Notice that, the cocos2d-x project for iOS can be create in anywhere as you wish. The wizard in xcode will copy the libraries of all cocos2dx, CocosDenshion, etc, into the project folder. This is different from the wizard for win32 & wophone in VisualStudio.

Ok, then build and run, you could see the HelloWorld scene as follows,

点击浏览下一页

4. Start with Android

The project of android for ndk contains two parts, one for java, and the other for c++. We would run create-android-project.bat(or create-android-project.sh under linux) to create android ndk project.

4.1 Under windows

4.1.1 Create project

"create-android-project.bat" is under the root of cocos2d-x. You should do some changes to work under your environment.

To adapt to my environment, I change the settings in create-android-project.bat.
  • set _CYGBIN=C:\cygwin\bin
    The path of cygwin bin
  • set _ANDROIDTOOLS=D:\anroid\android-sdk-windows\tools
    The path of android sdk tools
  • set _NDKROOT=D:\anroid\android-ndk-r5b
    The root of ndk

Now you can run "create-android-project.bat" to create an android project:
Goto the root of cocos2d-x, double click create-android-project.bat, input the project name and target id. Just like this

点击浏览下一页

After version 0.8.2, you may be asked to enter the package path, the path format is like this: org.coco2dx.Cocos2dxSimpleGame.
The target ids are different in different environment, you should be sure to input valid target id. Now cocos2dx supports
2.1-update1 and Android 2.2, other versions have not been tested.

4.1.2 Build native code

Now you can see a folder named "Cocos2dxSimpleGame" under the root of cocos2d-x. Run your cygwin, and goto
"Cocos2dxSimpleGame/android", then run "build_native.sh".

点击浏览下一页

4.1.3 Import project to eclipse

Run your eclipse, click File -> New -> Project -> Android Project, and import the project like this

点击浏览下一页

4.1.4 Build java code and run

Right click the project and select "Build Project", then right click the project and select "Run As" -> "Android Application". Then you can see the result:

点击浏览下一页

4.2 Under linux

You should run "create-android-project.sh" to create android project, the others are the same as under windows.

You should define some environment variables to run "create-android-project.sh" under your environment.
Initialize some environment variables.
  • NDK_ROOT
    The root of ndk.
  • ANDROID_SDK_ROOT
    The root of android sdk.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值