1.3 初识Cocos2d-x应用程序
上面两节内容至此就完成了Android平台下Cocos2d-x项目开发环境的搭建,下面就可以进行项目的导入和创建了。本节将向读者介绍如何导入一个简单的案例HelloCocos2dX,同时还会向读者介绍如何基于此案例项目创建自己的项目。
1.3.1 简单案例HelloCocos2dX的导入与运行
本小节将介绍如何将一个简单的案例项目HelloCocos2dX导入eclipse,并且由PC端运行此案例项目至手机端显示,通过这部分知识的学习,读者就真正进入了Cocos2d-x游戏开发的世界,具体介绍步骤如下,请仔细阅读。
(1)首先将资源包中源代码目录下的第1章子目录下的HelloCocos2dX目录复制到开发所用PC的“D:\Android\workspace”路径下。
说明
“D:\Android\ workspace”路径是前面配置Eclipse时设置的工作区目录。
(2)双击“eclipse.exe”启动Eclipse集成开发环境,接着选择主界面中“File”菜单下的“Import”子菜单项,如图1-36所示。此时系统将弹出“Import”菜单项的对话框,接着选择“General”项目下的“Existing Project into Workspace”子项,并按下“Next”按钮,如图1-37所示。
图1-36 项目导入图1
图1-37 项目导入图2
(3)按下“Import”对话框中的“Next”按钮后,系统将弹出项目导入对话框,如图1-38所示。
(4)在项目导入对话框中首先点击右上角的“Browse…”按钮(如图1-38中步骤1所示),系统将弹出文件浏览界面。在文件浏览界面中选中“D:\Android\workspace”路径下的HelloCocos2dX目录(如图1-38步骤2所示),并按下确定按钮(如图1-38步骤3所示)。
(5)此时将返回到项目导入对话框,按下其中的“Finish”按钮(如图1-38步骤4所示),即可完成项目的导入。项目的导入成功后,系统将自动关闭项目导入对话框,返回到Eclipse主界面,此时在界面左侧的项目列表中即可看到新导入的HelloCocos2dX项目,如图1-39所示。
图1-38 项目导入图3
图1-39 项目导入成功图
(6)接下来可以用鼠标点击左侧的“HelloCocos2dX”,待其展开后再点击其下的“jni”子目录,这时可能会发现“jni”目录下的很多C++源文件都报错了,这一点从图1-40中可以看出。不过这并不是真的有那么多错误,而是还需要对Eclipse进行一些配置。选中主菜单中的“Window”菜单下的“Preferences”子菜单项并点击进入,如图1-40所示。
图1-40 项目导入相关修改图1
(7)此时系统会弹出“Preferences”设置界面,如图1-41所示。这时首先展开左侧列表中的“C/C++”项,然后选择其中内容为“Code Analysis”的子项。在界面的右侧这时会出现很多具体的选项,将这些具体的选项中状态为“Error”的部分全部勾掉。接着点击界面右下侧的“Apply”按钮,然后再点击界面右下侧的“OK”按钮即可完成配置,返回Eclipse主界面,C++源文件的报错就没有了。
图1-41 项目导入相关修改图2
(8)将Android设备连接到运行Eclipse的PC上,打开Android设备的USB调试功能。然后点击主界面右上侧的“DDMS”按钮(如图1-42步骤1所示),在“Devices”列表中即可看到连接的Android设备,并可以看到设备的名称。若希望切换回原来的界面,仅仅需要按下主界面右上侧的“Java”按钮(如图1-42步骤2所示)即可。
图1-42 移动设备的连接
图1-43 案例的运行
(9)用鼠标选中主界面左侧项目列表中的“HelloCocos2dX”,点击鼠标右键,在弹出的快捷菜单选项中选择“Run As”选项,接着选择其下的“Android Applicationn”子项,如图1-43所示。
(10)点击“Android Applicationn”子项后即可将项目编译运行到所连接的Android设备中,如图1-44所示。同时在案例项目编译运行的过程中,主界面的“Console”窗口也会显示编译的进度情况,如图1-45所示。
图1-44 HelloCocos2dX案例运行界面
图1-45 案例正在初次运行
说明
能按照上述步骤运行成功还有一个关键点,那就是读者采用的各个目录路径与笔者使用的必须严格一致,如果不同,案例应该不能正确运行。不过不用担心,下面的小节就会介绍若配置目录不同该如何处理。
1.3.2 Cocos2d案例导入后的相关修改
上一小节介绍了Android简单案例的导入和运行,但也可能会遇到一个问题,若读者的各个工具配置路径与读者建议的不严格一致,项目将不能正常编译运行。本小节将介绍在路径不一致的情况下如何修改项目的配置,具体步骤如下。
(1)首先展开Eclipse主界面左侧的HelloCocos2dX项目,打开其下的jni文件夹,点开Android.mk文件,如图1-46所示,将椭圆圈中部分的项目路径“D:/Android/cocos2d-x-3.9”改为自己放置cocos2d-x-3.9解压目录的路径。
图1-46 cocos2d-x路径修改
(2)接下来重新配置NDK路径为自己的路径,由于前面的1.2节对NDK配置做过介绍,这里不再赘述。修改完这两个位置,即可以按照上一小节介绍的步骤重新编译运行项目。
说明
请读者注意,对于已经成功运行后的项目,如果改变了本小节介绍的这些路径配置,需要删除项目中自动生成的“libs”“obj”目录方可重新编译运行,否则会报错。
1.3.3 创建自己的项目
通过前面的学习,读者应该已经了解如何导入并运行Android平台下的Cocos2d-x项目了。但除了导入资源包中的项目外,读者可能还需要创建自己的项目。本小节将介绍一种Android平台下的Cocos2d-x项目的创建方法。
其实本小节介绍的项目创建是一种“曲线救国”的方式,本质上是将上一节的项目复制并修改为自己需要的其他项目。下面就以将“HelloCocos2dX”项目修改为“RenameCocos2dX”项目为例,向读者介绍如何创建一个自己的Android项目,具体步骤如下。
(1)将资源包中源代码目录下第1章中名为“HelloCocos2dX”的案例复制到读者D盘目录下的Android文件夹的workspace子文件内。然后将其导入Eclipse中,并选中该项目,单击鼠标右键选择“Refactor”菜单项,然后点击其下的“Rename”子菜单项,如图1-47所示。
图1-47 Android项目的新建1
(2)点击“Rename”菜单项后将会出现重命名的对话框,将之前的“HelloCocos2dX”修改为“RenameCocos2dX”。
(3)修改完以上信息后,将本案例从Eclipse中删除(注意不要选择删除磁盘的文件夹选项),如图1-48所示。然后进入“D:\Android\workspace”目录中,将项目的文件夹名称修改为“RenameCocos2dX”,如图1-49所示。
图1-48 Android项目的新建2
图1-49 Android项目的新建3
(4)修改完项目名称之后再将其导入到Eclipse中,若读者需要还可以对项目中源代码文件名进行修改,此时应该进入jni文件夹,找到相关的文件,如图1-50所示。
图1-50 Android项目的新建4
(5)首先将“sampleCPP”文件夹名称修改为“RenameCPP”,然后将“HeoolWorldLayer.h”文件名修改为“RenameWorldLayer.h”(修改方式与修改项目名称操作相同),并将其打开,修改其定义和类名及CREATE_FUNC中的参数,并将其他的一些方法删掉,只保留初始化布景的方法,最后将其保存,如图1-51所示。
图1-51 Android项目的新建5
(6)然后将“HelloWorldLayer.cpp”文件名修改为“RenameWordLayer.cpp”,并将其打开。删除项目原有的部分,只保留图1-52所示部分。然后修改引入头文件的名称,及该类的类名。
图1-52 Android项目的新建6
(7)接下来将“HelloWorldSceneManager.h”文件名修改为“RenameWorldSceneManager.h”,并将其打开,修改其对宏的定义以及相关头文件的引入及类名,如图1-53所示。
图1-53 Android项目的新建7
(8)接着再将“HelloWorldSceneManager.cpp”文件名修改为“RenameWorldSceneManager.cpp”,并将其打开,其中需要修改对头文件的引用、类名以及创建布景的布景类的类名,最后将其保存,如图1-54所示。
图1-54 Android项目的新建8
(9)最后打开名为“AppDelegate.cpp”的文件,如图1-55所示。修改其中对头文件的引用,以及创建场景时对应场景的类名,最后将其保存。
图1-55 Android项目的新建9
说明
在AppDelegate.h头文件中主要是对一些方法进行声明,不需要修改其中任何内容。
(10)修改完以上地方后,然后将jni文件中的名称为“Android.mk”的文件打开,对Cocos2d-x-3.9的路径进行修改,将原有的“sampleCPP”修改为现在的“RenameCPP”,以及将后缀名为cpp的文件修改为重命名后的文件即可,如图1-56中被圈中部分的内容所示。
图1-56 Android项目的新建10
(11)修改完后缀名为mk的文件后,打开该项目的AndroidManifest.xml文件,将原本的“com.bn.HelloCocos2dX”包名修改为“com.bn.RenameCocos2dX”,如图1-57所示。
(12)完成了以上步骤后,创建自己的Android项目就基本成功了,此时需要将此项目的显示名称修改为所需要的名称。在Eclipse中打开该项目里名称为“res”的文件夹中的“value”子文件夹的“string.xml”文件,将原本的“HelloCocos2dX”名称修改为“RenameCocos2dX”,如图1-58所示。
图1-57 Android项目的新建11
图1-58 Android项目的新建12
(13)最后删除项目中的libs、obj文件夹及bin文件中除了AndroidManifest.xml文件以外的所有文件,然后重新编译项目。若编译成功,则运行情况如图1-59所示。这样就得到了一个完全干净的Cocos2d-x的项目。
图1-59 新建Android项目的运行图
说明
笔者之所以介绍这种特殊的Android项目创建方式,是因为官方方式创建的每个项目中都有一份完整的Cocos2d-x拷贝,项目初始就有200多MB,这对初学者同时打开多个项目进行学习而言不太方便。