Cocos2d-x v3.1 Hello world程序(四)
在上一篇文章中我们我们已经使用Cocos-Console工具生成了工程,本机生成的目录为:“D:\CocosProject\Tutorial”。我们进入该目录中,如下图:
本篇文章我们将使用Cocos2d-x引擎写一个最简单的工程——“Hello world”。我们将使用VS2012进行win32程序的开发,然后使用ADT生成Android的APK程序,当然我们也可以使用Cocos-Console来生成APK程序。接下来我会对生成的工程中的文件做一个简单的说明并介绍两种生成APK的方式。
工程文件夹介绍
工程文件介绍
编写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
1.打开ADT目录找到eclipse的启动文件(本机目录:D:\Cocos\adt-bundle-windows-x86\eclipse)双击eclipse.exe打开开发环境。
2.执行“文件”->“导入”,如下图:
3.选择我们生成的工程目录(本机目录为:D:\CocosProject\Tutorial)
4.点击完成
打开CMD进入到工程目录(本机目录为:D:\CocosProject)。输入如下命令:“cocos run –s ./Tutorial –p android –m release”。
编译可能会花费很长的时间。当编译完后,我们会再proj.android目录下的bin目录里找到生成的APK(本机目录:D:\CocosProject\Tutorial\proj.android\bin)。
Cocos2d-x v3.1 Hello world程序(四),布布扣,bubuko.com
Cocos2d-x v3.1 Hello world程序(四)
原文:http://blog.csdn.net/zw514159799/article/details/36208607