Cocos2d-x v3.1 Hello world程序(四)
2017-06-14 11:09 tlnshuju 阅读(235) 评论(0) 编辑 收藏 举报Cocos2d-x v3.1 Hello world程序(四)
在上一篇文章中我们我们已经使用Cocos-Console工具生成了project,本机生成的文件夹为:“D:\CocosProject\Tutorial”。我们进入该文件夹中,例如以下图:
本篇文章我们将使用Cocos2d-x引擎写一个最简单的project——“Hello world”。我们将使用VS2012进行win32程序的开发,然后使用ADT生成Android的APK程序,当然我们也能够使用Cocos-Console来生成APK程序。接下来我会对生成的project中的文件做一个简单的说明并介绍两种生成APK的方式。
project目录介绍
- Classes: 主要存放我们CPP文件。
- CMakeFiles: 存放CMake的暂时文件。
- cocos2d: 引擎的源码文件夹。
- proj.android: android项目文件夹,使用ADT导入。
- proj.iso.mac:XCode的项目文件夹。
- proj.linux:linux项目文件夹。主要用于在linux下生成程序。
- proj.win32: Windows项目文件夹。VS2012project文件夹。
- proj.wp8-xaml:Win8项目文件夹,VS2012project文件夹,使用C#进行开发。
- Resource:资源文件夹。用于存放贴图、音频、地图等一些游戏中使用的资源,我们从CocoStudio中导出的资源也要放入此文件夹。
project文件介绍
- AppDelegate.*文件:程序的引擎的启动文件。由main.*文件里的程序入口函数_tWinMain构造的对象并调用的run函数。
- HelloWorldScene.*文件:主场景文件,我们的“Hello world”代码也在这里写。
- main.*文件:程序入口函数所在文件。
编写Hello world程序
打开HelloWorldScene.cpp,找到“init”函数,事实上在里面都已经有了Hello world的代码。我就不把它删了再写了,看一看就能明确了。代码例如以下:
1: bool HelloWorld::init()
2: {3: //////////////////////////////
4: // 1. super init first
5: if ( !Layer::init() )
6: {7: return false;8: }9:10: Size visibleSize = Director::getInstance()->getVisibleSize();11: Vec2 origin = Director::getInstance()->getVisibleOrigin();12:13: auto closeItem = MenuItemImage::create(
14: "CloseNormal.png",
15: "CloseSelected.png",
16: CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
17:18: auto menu = Menu::create(closeItem, NULL);
19: menu->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 , origin.y + closeItem->getContentSize().height/2));20: this->addChild(menu, 1);
21:22: auto label = LabelTTF::create("Hello World", "Arial", 24);23: label->setPosition(Vec2(origin.x + visibleSize.width/2,24: origin.y + visibleSize.height - label->getContentSize().height));25: this->addChild(label, 1);
26:27: auto sprite = Sprite::create("HelloWorld.png");28: sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));29: this->addChild(sprite, 0);
30:31: return true;32: }
第5行是调用基类的初始化函数对层进行初始化,第10、11行获取可视化区域的尺寸和原点。第13-20是创建左下方的退出菜单22-25是在屏幕中心创建一个文本标签“Hello world”, 27- 29创建了一个精灵(Sprite)对象在屏幕中心。我们直接编译执行看结果吧。
生成APK
- 使用ADT生成APK
1.打开ADT文件夹找到eclipse的启动文件(本机文件夹:D:\Cocos\adt-bundle-windows-x86\eclipse)双击eclipse.exe打开开发环境。
2.运行“文件”->“导入”,例如以下图:
3.选择我们生成的project文件夹(本机文件夹为:D:\CocosProject\Tutorial)
4.点击完毕
- 使用Cocos-Console生成APK
打开CMD进入到project文件夹(本机文件夹为:D:\CocosProject)。输入例如以下命令:“cocos run –s ./Tutorial –p android –m release”。
编译可能会花费非常长的时间。当编译完后。我们会再proj.android文件夹下的bin文件夹里找到生成的APK(本机文件夹:D:\CocosProject\Tutorial\proj.android\bin)。