Cocos2d-x v3.1 Hello world程序(四)

Cocos2d-x v3.1 Hello world程序(四)

在上一篇文章中我们我们已经使用Cocos-Console工具生成了工程,本机生成的目录为:“D:\CocosProject\Tutorial”。我们进入该目录中,如下图:

本篇文章我们将使用Cocos2d-x引擎写一个最简单的工程——“Hello world”。我们将使用VS2012进行win32程序的开发,然后使用ADT生成Android的APK程序,当然我们也可以使用Cocos-Console来生成APK程序。接下来我会对生成的工程中的文件做一个简单的说明并介绍两种生成APK的方式。

工程文件夹介绍

  • Classes: 主要存放我们CPP文件。
  • CMakeFiles: 存放CMake的临时文件。
  • cocos2d: 引擎的源代码目录。
  • proj.android: android项目目录,使用ADT导入。
  • proj.iso.mac:XCode的项目目录。
  • proj.linux:linux项目目录,主要用于在linux下生成程序。
  • proj.win32: Windows项目目录,VS2012工程目录。
  • proj.wp8-xaml:Win8项目目录,VS2012工程目录,使用C#进行开发。
  • Resource:资源目录,用于存放贴图、音频、地图等一些游戏中使用的资源,我们从CocoStudio中导出的资源也要放入此目录。

工程文件介绍

  • 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.选择我们生成的工程目录(本机目录为:D:\CocosProject\Tutorial)

4.点击完成

  • 使用Cocos-Console生成APK

打开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程序(四)

时间: 2024-10-09 06:26:22

Cocos2d-x v3.1 Hello world程序(四)的相关文章

linux系统编程综合练习-实现一个小型的shell程序(四)

上节中已经对后台作业进行了简单处理,基本上要实现的功能已经完了,下面回过头来,对代码进行一个调整,把写得不好的地方梳理一下,给代码加入适当的注释,这种习惯其实是比较好了,由于在开发的时候时间都比较紧,都只是想办法去尽快实现,而肯定会有一些代码是写得不太好的,所以有时间的话最好是从头至尾将整个代码进行梳理,也许在梳理的过程中会发现许多不足的地方,好了,下面开始: 而这个信号安装函数是在init.c中实现的: 接下来进行shell循环: 它的实现是在parse.c中: 如注释所示,可以挪至init.

Spring容器,Bean配置信息,Bean实现类以及应用程序四者的相互关系(看书随笔)

Spring容器,Bean配置信息,Bean实现类以及应用程序四者的相互关系图: Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载\实例化Bean,并建立Bean和Bean的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序调用.

手机卫士09_应用程序四种查看_ListView小标题_进程管理

1.悬浮窗体的功能实现: 1.1.应用程序的卸载: 包安装器 packageInstall,包卸载packageruninstall intent.setData(Uri.pare(“package:” + 应用程序包名)) 卸载完之后记得更新list集合,更新适配器. 但是不确定用户是否点了卸载,所以要通过广播获取消息. 并且需要通过代码注册,因为这个广播只在应用管理生效. 要记得addDataSchme(“package”) 接收完广播之后,更新了集合适配器,要记得关闭广播 异常:Concu

Hadoop实战-使用Eclipse开发Hadoop API程序(四)

一.准备运行所需Jar包 1)avro-1.7.4.jar 2)commons-cli-1.2.jar 3)commons-codec-1.4.jar 4)commons-collections-3.2.1.jar 5)commons-compress-1.4.1.jar 6)commons-configuration-1.6.jar 7)commons-io-2.4.jar 8)commons-lang-2.6.jar 9)commons-logging-1.2.jar 10)commons-

Quick cocos2dx-Lua(V3.3R1)学习笔记(四)----文本渲染之用BM TTF创建文本

上一篇我们显示了背景图和文字,这一篇我们详细介绍一下文本显示的方法 一,显示fnt格式字体 首先我们下载BMF格式文件制作工具,Bitmap Font Generator 下载地址:http://www.angelcode.com/products/bmfont/ 安装完毕,我们打开这个工具,看到如下的界面 左边就是单独字体 右边就是字体库(注意:如果要有符号输入,将第一项Latin+Latin Supplenment打钩)(你看你看,我不是所有括号都有自言自语的) 我们来创建字体 点击Opti

实验10 指针进阶 程序四

#include<stdio.h> int main(int argc,char *argv[]) { int i,j,n,m; scanf("%d%*c%d",&n,&m); for(i=n;i<=m;i++) { int sum=0; for(j=1;j<=i/2;j++){ if(i%j==0) sum+=j; } if(sum==i) printf("%5d",i); } return 0; } 原文地址:https:

【C语言】程序内存四区

1.栈区(临时区)(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等: 2.堆区(heap) 一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能有操作系统回收: 3.全局区(静态区)(static) 全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,该区域在程序结束后由操作系统释放: 常量区——字符串常量和其他常量的存储位置,程序结束后由操作系统释放: 4.程序代码区

新手入门:微信小程序--从入门到精通宝典

<ignore_js_op> 作为新手入门的宝典,我们整理了本论坛各种有价值的内容,并按循序渐进的方式呈现给大家.大家可以按顺序一篇一篇的攻克本帖中的内容,也可以作为字典,跳转至关注的内容去学习.希望大家在这里能快速成长,成为微信小程序开发的顶尖高手. 本帖的内容结构如下:一:小程序之张小龙全面阐述及思维导图:二:微信小程序官方地址三:如何学习微信小程序四:新手入门系列教程集合五:公司开发前必读六:个人开发前必读 一:小程序之张小龙全面阐述及思维导图: 小程序之张小龙全面阐述:于1月9日上线(

ios--小结系列八 程序启动原理

一.掌握 • Info.plist和pch文件的作用 • UIApplication的常见使用 • AppDelegate的代理方法 • UIApplication.AppDelegate.UIWindow.UIViewController的关系 • iOS程序的完整启动过程 二.项目中常见的文件 (1) Info.plist常见的设置 • 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删