DEPRECATED! (seeUpdated process)弃用!(见更新过程) 本文介绍如何使用Cocos2d-x引擎将众所周知的“Cocos2dSimpleGame”游戏从objc文件移植到c中,然后再在WIN32/iPhone/Android/WoPhone多平台运行游戏。“Cocos2dSimpleGame”由Ray Wenderlich编写而成。
DEPRECATED! (see Updated process)弃用!(见更新过程)
本文介绍如何使用Cocos2d-x引擎将众所周知的“Cocos2dSimpleGame”游戏从objc文件移植到c++中,然后再在WIN32/iPhone/Android/WoPhone多平台运行游戏。“Cocos2dSimpleGame”由Ray Wenderlich编写而成。几乎每个Cocos2d-iphone引擎初学者都看过他的操作指南。
首先,你需要从http://download.cocos2d-x.org下载最新稳定版引擎。编写本指南时引擎最新版本为Cocos2d-0.99.5-x-0.8.2,然后升级游戏资源至0.91版本。最新引擎名称中的“0.99.5”是指该c++端口是基于Cocos2d-iphone 0.99.5父引擎,而后缀“0.82”是我们Cocos2d-x端口的版本号。
“Cocos2dxSimpleGame”源码地址为 http://www.cocos2d-x.org/attachments/535/Cocos2dxSimpleGame-0.9.1.rar。该源码已经经过“cocos2d-1.0.1-x-0.9.1”引擎测试。
下面开始介绍如何创建项目。你可以直接跳到平台上开始操作。
1. 从WIN32平台开始
cocos2d-win32端口已经在WinXP+ VistualStudio2008/2010环境下经过测试。但在Vista或Win7系统,本人不敢保证能够顺畅运行。如果按照本指南操作在cocos2d-win端口上仍然无法成功运行,请参考错误解答。
1.2 在VisualStudio安装Wizard
下载解压文件包后,进入cocos2d-x文件夹,点击“build-win32.bat”文件编译整个项目,然后点击“install-templates-msvc.bat”安装Wizard工具。BAT脚本文件会自动适配VS2008或VS2010。若需了解更多信息,请参见以下文档VS版Cocos2d-x Application Wizard用户指南。
1.3 新建cocos2d-win32项目
用VS2008打开“cocos2d-x/cocos2d-win32.vc2008.sln”文件即会看到如下所示界面。
右键单击“Solution ‘cocos2d-win32.vc2008”选项然后选择“Add->New Project”。如图所示。
选择“Cocos2d-x -> cocos2d-win32 Application”在“Name”一栏中填上“Cocos2dxSimpleGame”,“Location”一栏选择默认设置。
注意:WIN32及WoPhone端口中,游戏存放路径(location)必须在cocos2d-x根目录下。
单击“OK -> Next”,不勾选“Box2D”因为“Cocos2dSimpleGame”不会用到物理系统。确保勾上“SimpleAudioEngine in CocosDenshion”选项,然后点击“Finished”。
1.4 编译和运行
现在即可看到已经新建“Cocos2dxSimpleGame.win32”项目!检查一下“Dependencies”(依赖)选项因为现在游戏需要依赖“libcocos2d”及“libCocosDenshion”。
确认之后编译运行。通常情况下成功时你会看到如下画面。
1.5 错误解答
可能有些人在WIN32平台上无法成功运行这个测试项目,因为“cocos2d-win32”端口基于“PC模拟器版本的PowerVR OpenGL ES 1.1 SDK”(Windows Vista/XP版本)。http://www.imgtec.com/PowerVR/insider/sdkdownloads/index.asp#GLES1b
我们已经将“PowerVR”库放到“cocos2d-x-root/cocos2dx/platform/win32/third_party/libraries”路径下。
因此:
- 对于WIN7用户:“PowerVR”还未发布Windows7版本端口。但还是可以试一下,许多行业里的WIN7用户成功运行过这个样例。
- 对于WINXP/Vista用户:如果“HelloWorld”是因为“glXXX”或“eglXXX”功能而崩溃,请更新视频显卡驱动,登陆“NVIDIA/ATI/INTEL”网址下载最新驱动。
- 对于其他不幸的用户:可以手动在XCode中创建Cocos2d-x项目。 ## 2. 从WoPhone开始
如果你是WoPhone开发人员,以上WIN32平台的各步骤也适用。只有3个不同点:
必须将“cocos2d-x-root”放置于“D:/Work7”目录中,WoPhone开发对应用路径有非常严格的要求。
请用VS2008打开“D:/Work7/cocos2d-x/cocos2d-wophone.sln”文件,请勿使用“cocos2d-win32”打开该文件。
在“Add New Project”对话框中选择“cocos2d-wophone application”,如下所示。
cocos2d-wophone引擎下运行HelloWorld界面如下。
3. 从iPhone开始
自从0.8.2版本以来我们就提供了XCode模板。你可以像创建“cocos2d-iphone projects”项目一样新建“Cocos2d-x”项目。
首先进入“cocos2d-x”文件夹根目录,然后在Mac Shell中运行“install-templates.sh”。
<span>.</span><span>/</span><span>install</span><span>-</span><span>templates</span><span>-</span><span>xcode</span><span>.</span><span>sh</span> <span>-</span><span>u</span> <span>-</span><span>f</span>
你也可以在该命令中选择XCode版本号如XCode3或XCode4。
安装完成之后,便可启动XCode,然后单击“Create a new Xcode project”后会看到如下界面。
选择“Cocos2d-x application”,然后点击“choose”,输入项目名称,之后XCode便会为你新建“Cocos2d-x”项目。
注意:iOS平台Cocos2d-x项目可以创建在任意路径。Xcode中的Wizard工具会复制所有cocos2dx及CocosDenshion等的库到项目文件夹中。这点与在VisualStudio环境WIN32及WoPhone平台的Wizard工具不同。
然后编译运行,你会看到如下HelloWorld运行界面。
4. 从Android开始
Android NDK项目包括两个部分,用于Java语言的部分和用于C++语言的部分。你可以运行“create-android-project.bat”(或者在Linux平台下运行“create-android-project.sh”)来新建Android NDK项目。
4.1 Windows平台操作说明
4.1.1 创建项目
“create-android-project.bat”文件位于cocos2d-x根目录下。你应该根据自己的开发环境修改该文件。
为适配本机环境,本机“create-android-project.bat”文件的设置修改如下:
- set _CYGBIN=C:\cygwin\bin The path of cygwin bin Cygwin Bin路径
- set _ANDROIDTOOLS=D:\anroid\android-sdk-windows\tools The path of android sdk tools Android SDK工具路径
- set _NDKROOT=D:\anroid\android-ndk-r5bThe root of ndk NDK路径
现在即可运行“create-android-project.bat”创建Android项目。
进入cocos2d-x根目录,双击“create-android-project.bat”文件,输入项目名称(project name)及目标ID(target id)如下图所示。
自从0.8.2版本之后,你可能会遇到要求输入资源包路径的请求。该路径格式如下:
org.coco2dx.Cocos2dxSimpleGame.
不同开发环境下的目标ID(target id)不同,你应确保输入有效的目标ID(target id)。目前Cocos2d-x支持Android 2.1-update1及Android 2.2,其他版本尚未测试。
4.1.2 编译本地代码
在Cocos2d-x根目录下有一个“Cocos2dxSimpleGame”文件夹。运行cygwin然后进入“Cocos2dxSimpleGame/android”目录,然后运行“build_native.sh”文件。
4.1.3 往Eclipse导入项目
运行Eclipse然后依次点击“File -> New -> Project -> Android Project”,导入项目如下图所示:
4.1.4 编译Java代码并运行
右键单击项目然后选择“Build Project”,然后右键单击项目选择“Run As”->“Android Application”,这时你会看到如下界面。
4.2 Linux平台操作说明
创建Android项目时运行“create-android-project.sh”文件,其他步骤与Windows平台操作说明一样。
在Linux环境下运行“create-android-project.sh”前请定义一些环境变量。
初始化一些环境变量。如下所示。
-
NDK_ROOT
NDK路径 -
ANDROID_SDK_ROOT
Android NDK路径

MySQL在數據庫和編程中的地位非常重要,它是一個開源的關係型數據庫管理系統,廣泛應用於各種應用場景。 1)MySQL提供高效的數據存儲、組織和檢索功能,支持Web、移動和企業級系統。 2)它使用客戶端-服務器架構,支持多種存儲引擎和索引優化。 3)基本用法包括創建表和插入數據,高級用法涉及多表JOIN和復雜查詢。 4)常見問題如SQL語法錯誤和性能問題可以通過EXPLAIN命令和慢查詢日誌調試。 5)性能優化方法包括合理使用索引、優化查詢和使用緩存,最佳實踐包括使用事務和PreparedStatemen

MySQL適合小型和大型企業。 1)小型企業可使用MySQL進行基本數據管理,如存儲客戶信息。 2)大型企業可利用MySQL處理海量數據和復雜業務邏輯,優化查詢性能和事務處理。

InnoDB通過Next-KeyLocking機制有效防止幻讀。 1)Next-KeyLocking結合行鎖和間隙鎖,鎖定記錄及其間隙,防止新記錄插入。 2)在實際應用中,通過優化查詢和調整隔離級別,可以減少鎖競爭,提高並發性能。

MySQL不是一門編程語言,但其查詢語言SQL具備編程語言的特性:1.SQL支持條件判斷、循環和變量操作;2.通過存儲過程、觸發器和函數,用戶可以在數據庫中執行複雜邏輯操作。

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

MySQL是一個開源的關係型數據庫管理系統,適用於數據存儲、管理、查詢和安全。 1.它支持多種操作系統,廣泛應用於Web應用等領域。 2.通過客戶端-服務器架構和不同存儲引擎,MySQL高效處理數據。 3.基本用法包括創建數據庫和表,插入、查詢和更新數據。 4.高級用法涉及復雜查詢和存儲過程。 5.常見錯誤可通過EXPLAIN語句調試。 6.性能優化包括合理使用索引和優化查詢語句。

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

InnoDB的鎖機制包括共享鎖、排他鎖、意向鎖、記錄鎖、間隙鎖和下一個鍵鎖。 1.共享鎖允許事務讀取數據而不阻止其他事務讀取。 2.排他鎖阻止其他事務讀取和修改數據。 3.意向鎖優化鎖效率。 4.記錄鎖鎖定索引記錄。 5.間隙鎖鎖定索引記錄間隙。 6.下一個鍵鎖是記錄鎖和間隙鎖的組合,確保數據一致性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver CS6
視覺化網頁開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),