Cocos2dx 3.x创建Layer的步骤
创建
1、新建类文件。注意文件夹为Classes下。否则文件不能正常找到。
2、改动预编译头。如用VS,默觉得#pragma once,为了兼容,改为#ifndef | #define | #endif
3、加入cocos2d.h头文件
4、继承cocos2d::Layer。默觉得private继承。通常须要改为public继承。
5、加入init()和CREATE_FUNC()
6、实现init()
7、加入createScene(),可选
最主要的代码:
//GameLayer.h #ifndef _GAMELAYER_H
#define _GAMELAYER_H #include "cocos2d.h" class GameLayer : public cocos2d::Layer
{
public:
GameLayer();
~GameLayer();
public:
virtual bool init();
CREATE_FUNC(GameLayer);
public:
static cocos2d::Scene* createScene();
}; #endif // _GAMELAYER_H
// GameLayer.cpp #include "GameLayer.h" USING_NS_CC; // 构造函数。如有对象成员,须要在此初始化
GameLayer::GameLayer()
{}
// 析构
GameLayer::~GameLayer()
{} //虚函数,初始化,当运行本类的create()函数时会被自己主动调用
bool GameLayer::init()
{
bool bl = Layer::init();
// 增加内容
return bl;
} // Scene的入口,通过该函数进入Layer
Scene* GameLayer::createScene()
{
auto scene = Scene::create();
auto layer = GameLayer::create();
scene->addChild(layer);
return scene;
}
进入
// 直接进入 auto layer = GameLayer::createScene();
Director::getInstance()->replaceScene(layer);
// 特效进入 auto layer = GameLayer::createScene();
auto slidein = TransitionSlideInL::create(1.0f, layer);
Director::getInstance()->replaceScene(slidein);
// 进入特效完之后才发生 //声明虚函数
virtual void onEnterTransitionDidFinish();
加入定时器
// GameLayer.h private:
// 声明
void gameStep(float dt);
// GamaLayer.cpp // 实现
void GameLayer::gameStep(float dt)
{
//bg->move();
}
void GameLayer::startGame()
{
// 调用
this->schedule(SEL_SCHEDULE(&GameLayer::gameStep), 0.02f);
}
Cocos2dx 3.x创建Layer的步骤的更多相关文章
- cocos2dx使用TiledMap创建斜45度地图场景
做游戏,场景是一个很重要的部分,如果缺少这一步,很难做出好的游戏,对于cocos2dx来说,有很多2D的地图编辑器可以用,效果都还可以,其中Tiled是支持的比较好的,它支持Tiled编辑出来的几种模 ...
- TODO:GitHub创建组织的步骤
TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...
- ABP创建数据库操作步骤
1 ABP创建数据库操作步骤 1.1 SimpleTaskSystem.Web项目中的Web.config文件修改数据库配置. <add name="Default" pro ...
- 创建 Transact-SQL 作业步骤
创建 Transact-SQL 作业步骤 在对象资源管理器中,连接到 SQL Server 数据库引擎实例,再展开该实例. 展开"SQL Server 代理",创建一个新作业或右键 ...
- 创建守护进程步骤与setsid() -- linux deamon进程
原创:http://www.cnblogs.com/mickole/p/3188321.html 一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且 ...
- 使用Form Builder创建Form具体步骤
使用Oracle Form Builder创建Form具体步骤 (Data Source为Table) 说明:当Block使用的Data Source为Table时,Form会自动Insert,Upd ...
- EA创建用例图步骤详解
EA创建用例图步骤详解 1 创建一个项目 2 选择需要的模型 3 新建模型包 4 新建图表 5 新建模型包 6 创建用户角色Actor 7 新建用例 8 关联用户和用例 9 最后整个项目浏览器目录结构 ...
- 详解Oracle手动创建数据库几大步骤
在这里我们将介绍Oracle手动创建数据库几大步骤,包括前期的准备工作,以及具体的实施. Oracle手动创建数据库是本文介绍的重点,希望通过本文能帮助大家更好的利用Oracle.51CTO也向您推荐 ...
- cocos2d-x 3.0 创建项目
cocos2d-x 3.0 创建项目 点击打开链接
随机推荐
- Cookie 路径在本机测试及服务器部署,在浏览器处理方式上的不同
Table of Contents 1 问题场景 2 解决过程 2.1 cookie是否设置成功 2.2 cookie是否上传到服务器 3 总结 1 问题场景 最近在学用Python进行web开发,写 ...
- Nodejs 项目开发
最近这几个月都在学习nodejs. 国内nodejs的资料相对较少,就我所搜索到的,CSDN目前的代码托管平台有不少从github弄过来的开源镜像,其它的不错的社区有cnodejs,byvoid的个人 ...
- 关于WEB三层架构的思考
1.MVC设计思想 MVC程序设计思想是眼下比較流行的WEB开发的模式,当中,M(model)是模型.即JavaBean,用来封装和保存数据:V(view)是视图,即JSP.用来显示内容:C(cont ...
- 同一个form里,不管哪个 submit 都是直接提交form表单里的内容
要达到你的目的,就不能用类型为 submit 的按钮,要用 button,然后加onclick 方法来自定义预处理参数,然后再调用 submit 方法提交表单,比如 <script type=& ...
- Boost::asio io_service 实现分析
io_service的作用 io_servie 实现了一个任务队列,这里的任务就是void(void)的函数.Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run ...
- checkbox之checked的方法(attr和prop)区别
1. $('#checkbox').click(function(){ if($('#checkbox').is(':checked')) { $(".sendmailhui"). ...
- C keyword register 并讨论共同使用嵌入式汇编
C keyword register 并讨论共同使用嵌入式汇编 register 是C99 的keyword之中的一个. register 是储存类型之中的一个.这里仅讨论register 储存类型. ...
- Swift - 使用ALAssetsLibrary获取相簿里所有图片,视频(附样例)
1,ALAssetsLibrary介绍 (1)通过创建ALAssetsLibrary的实例可以访问系统Photos里的图片与视频.这里图片不仅包括相机拍摄的照片,还包括从iTunes导入的和从其他设备 ...
- C++学习之路—运算符重载(二)运算符重载作为类的成员函数和友元函数
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 对运算符重载的函数有两种处理方式:(1)把运算符 ...
- Android SDK Manager安装报错
安装出错了,上网百度一大堆说法,又说版本兼容问题的,有说http换https的,我这个菜鸟真搞不明白,自己捣腾一下午总算弄上去了! 问题: 安装完Eclipse和ADT却无法更新SDK. 启动Andr ...