www.Walzer.cn - Tech & Management Blog

Focus on mobile dev
本博客文章,未在标题中写明转载的, 均为原创.
所谓高手,也就是熟悉别人制定的游戏规则、并且能在规则内跳舞的人。
posts - 107, comments - 654, trackbacks - 2, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
WARNING: 此文已经过时,引擎升级到更高的版本,方法也有些变化。请移步到 http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Tutorials 阅读最新的Cocos2dxSimpleGame系列教程(网站上的tutorial教程会保持与cocos2d-x最新版本同步,但仅提供英文版本)。

另,uphone这名字由于更早时候被 UT斯达康 注册过了,所以联通改项目名叫沃phone。我比较懒,这几篇博客就维持原状不修改了。cocos2d-x.org网站上攒了不少好东西,尤其是ios和android上的,大家自己去挖。

-----------------


对于cocos2d新手而言,应该对Ray Wenderlic的 How To Make A Simple iPhone Game with Cocos2D Tutorial 一文不会感到陌生,此文在cocos2d-iphone官网上被推荐,而且被翻译成中文发在CocoaChina论坛上 http://www.cocoachina.com/bbs/read.php?tid-15554.html


现在cocos2d-x.org把cocos2d-iphone翻译成C++语言,以适配在更多的手机操作系统上。目前已经出了两个稳定版本0.7.0和0.7.1,首先支持了国产的UPhone平台。除了cocos2d-uphone,还实现了cocos2d-win32, cocos2d-iphone-cpp, cocos2d-android-ndk以及网友贡献的cocos2d-bada。


现在让我们来看看,怎么在UPhone上用cocos2d-x移植Ray Wnderlic的忍者扔飞镖游戏Cocos2dSimpleGame

 

一、下载并安装cocos2d-x


Uphone的推荐开发环境是Windows系统。假设您已经安装好了Uphone SDK和开发环境 (UPhone SDK下载地址http://sinaapp.csdn.net/up.zip,开发者社区地址http://110.86.4.110:8086/developmentWorks/


1. 下载cocos2d-x源码

方法一: 到 http://download.cocos2d-x.org 下载稳定发布版的压缩包。

方法二: 推荐下载最新的代码。请从 http://github.com/cocos2d/cocos2d-x/ 里获取最新的代码,如果不会用git工具,则在这个网页右边找到DOWNLOAD,点击下载就行了。

解压后把目录放到Uphone SDK所在的 D:\Work7\cocos2d-x\ 目录下,注意保持目录结构如图,省去一些配置PATH的麻烦

 

可以看到,cocos2d-x已经完整地把cocos2d引擎、所有测试例、box2d和chipmunk两个物理引擎、CocosDenshion音效引擎都移植过来了。双击cocos2d-uphone.sln,用Visual Studio2008或VS2010打开工程。(别点错了打开cocos2d-win32.sln)

 

2. 安装vs2008的模板

进到D:/Work7/cocos2d-x/template/CCXAppWiz.vs, 然后双击setup_vs2008.js运行,成功安装后会有提示框显示"App Wizard successfully installed!"。然后你在vs2008里solution -> Add -> New Project 就可以选择建立cocos2d-uphone或cocos2d-win32程序了

 

二、Hello, Cocos2D


在开始动手之前,咱们先看下cocosTemplate编译和运行的效果。这里有一点需要注意,uphone模拟器并不是像windows mobile那样的armulator解决方案,而是靠win32-linux交叉编译来解决模拟器-真机开发环境差异的。所以在Visual Studio里的solution platform下拉菜单里,并没有单独的一个“uphone"选项,而是直接在win32-debug下编译运行uphone应用。

 

在VS2008对cocosTemplate编译完后,需要设置一下启动参数。在cocosTemplate项目上点右键->属性(Properties), 在Debugging标签下,修改Command和Command Arguments如下 


 

在屏幕右下角找到uphone助手的小图标,右击弹出菜单,然后点启动。

 

 

模拟器启动起来后,运行cocosTemplate

 


现在我们可以做活动一下颈椎,脑袋靠到右肩膀上看模拟器,All is well~  这是个横屏的应用,屏幕坐标的确是横过来了,但模拟器本身却没有被放倒横过来。Uphone开发团队应该还需要一些时间来把模拟器这个小萝莉推倒。我在本文的后面部分,为了省去各位读者卷屏和活动颈椎的工作,就把截图都放横过来了贴了。


这里有两个细节:

一是模拟器点“启动”时,会给我们一个干净的环境运行自己的程序;而点“自动模式启动”时,则会加载桌面进程,连带解锁、壁纸、微件、应用程序ICON列表全部出来了。对于调试游戏而言,我们不需要加载这么多东西。

二是cocos2d-x的HelloWorld相比iphone版本,增加了右下角的一个"X"退出按钮。因为并不是每款手机的HOME键都像iphone一样可以退出当前应用进程,所以我们保守起见,在游戏里自己留了个退出的按钮。

 

 

系列教程

如何用cocos2d-x来开发简单的Uphone游戏:(一) 下载安装和HelloWorld

如何用cocos2d-x来开发简单的Uphone游戏:(二) 移动的精灵

如何用cocos2d-x来开发简单的Uphone游戏:(三) 射击子弹 & 碰撞检测

如何用cocos2d-x来开发简单的Uphone游戏:(四) 音乐音效 & 最后的润色

如何用cocos2d-x来开发简单的Uphone游戏:(五) 打包发布


著作权声明:本文由http://www.walzer.cn/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢! 

Feedback

#1楼  回复 引用 查看   

2010-11-13 12:28 by 夜归人      


SDK:1030
模拟器:1.1
coco2dx:0.99.4-uphone-win32-stable-rc1

哈罗~,我运行以后出了这个错误,不知道为什么啊~~

#2楼  回复 引用 查看   

2010-11-25 17:36 by miclee      
您好,

我尝试在 MacBook + VirtualBox 环境下执行 cocosTemplate。仿真器执行了,cocosTemplate 好像也是在执行,但是只在屏幕左上角看见一些花痕 。OpenGLES 的问题?

Mac OS X 10.6.4
VirtualBox 3.2.10 r66523 (3D acceleration ON)
Guest OS: Windows 7 Prof
Uphone SDK 2010-10-30


谢谢

#3楼[楼主]  回复 引用 查看   

2010-11-27 12:38 by Walzer      
@miclee
现在cocos2d-x已经有iphone-cpp版了,您可以到github.com/cocos2d/cocos2d-x/ 上面下载代码。
花痕的问题,可能是PowerVR库对Macbook显卡驱动的兼容性不是很好。

#4楼[楼主]  回复 引用 查看   

2010-11-27 12:39 by Walzer      
@夜归人
看来好像是少编译了一个main文件。这两天我在调整HelloWorld和template,稍后会放出一个新个稳定版

#5楼[楼主]  回复 引用 查看   

2010-12-26 22:06 by Walzer      
此篇文章已经出了win32, uphone, iphone-cpp三个版本的tutorial, 请移步到http://www.cocos2d-x.org/wiki/cocos2d-x/Chapter_1_-_Create_a_New_cocos2d-x_project_with_each_platforms 看完整教程

#6楼  回复 引用 查看   

2011-03-13 16:28 by jeaconlau      
hi
我今天刚刚按照您文章中的方法试验了一下
但是发现屏幕一片漆黑。。。
什么helloworld,小红叉等等都没有
请问是怎么回事呢?

#7楼  回复 引用 查看   

2011-07-17 18:25 by huaner      
您好,我编译cocos2d-wophone.sln的时候,出现
"ccapplication_wophone.cpp(61) : error C2065: 'SS_APP_PATH_TYPE_CONST' : undeclared identifier"
请问你当时遇到过么?

#8楼  回复 引用 查看   

2011-07-17 19:28 by huaner      
不好意思,还有个error是:
"error C2065: 'EVENT_WinImeStatusNotify' : undeclared identifier"这个是版本问题么?我是从你给的up.rar的链接下的。