cocos2dx中的层CCLayer
什么是层,层在cocos2dx里是一个能处理触摸事件的CCNode,因为它负责用户交互,因此大部分游戏细节都在这个类中完成,所以我们经常派生这个图层来完成逻辑交互代码。当然如果你的图层不需要接受交互信息,那么你可以直接使用CCNode来做图层,效率更高
触摸处理设置:
默认情况下,CCLayer并不接收触摸事件,只有设置了接收触摸事件才能接受触摸
CCLayer::setTouchEnabled(true);
这样Layer就能响应触摸实现了,当触摸开始时
void CCLayer::ccTouchesBegan(CCSet* pTouches, CCEvent* pEvent);被调用
当触摸进行时
void CCLayer::ccTouchesMoved(CCSet* pTouches, CCEvent* pEvent);被调用
当触摸结束时
void CCLayer::ccTouchesEnded(CCSet* pTouches, CCEvent* pEvent);被调用
当触摸过程被打断,比如来电打断了一个触摸事件时
void CCLayer::ccTouchesCancelled(CCSet* pTouches, CCEvent* pEvent);被调用
默认触摸是支持多点触摸的,所以被调用上述虚函数,如果不需要支持多点,只要单点,那么应该设置触摸模式
virtual void setTouchMode(ccTouchesMode mode);
typedef enum {
kCCTouchesAllAtOnce,
kCCTouchesOneByOne,
} ccTouchesMode;
其中kCCTouchesAllAtOnce表示支持多点触摸,kCCTouchesOneByOne表示支持单点触摸,在调用了
setTouchMode(kCCTouchesOneByOne)时,那么调用另外一套虚函数如下:
// default implements are used to call script callback if exist
当触摸开始时,虚函数virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);被调用
当手指移动时,虚函数virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);被调用
当手指离开时,虚函数virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);被调用
当来电打断触摸过程时,虚函数virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);被调用
CCLayer除了支持触摸输入之外,还能支持加速计输入,但是默认也是不支持的,需要增加代码来支持,调用
virtual void setAccelerometerEnabled(bool value);
可以设置加速计输入相应。
这时我们可以重载
virtual void didAccelerate(CCAcceleration* pAccelerationValue);
函数来处理加速计的输入。
转载于:https://www.cnblogs.com/niulanshan/p/6174980.html
cocos2dx中的层CCLayer相关推荐
- cocos2d-x中的导演、场景、层和精灵
场景(Scenes) 场景在cocos2d-x中是CCScene类实现的,是应用程序流中独立的一部分.一个cocos2dx应用程序可以有许多场景,但是在某一时刻,只有一个场景在运行. 比如,你有一个游 ...
- Cocos2dx中利用双向链表实现无限循环滚动层
[Qboy原创] 在Cocos2dX 3.0 中已经实现一些牛逼的滚动层,但是对于有一些需要实现循环滚动的要求确没有实现,笔者在前段时间的一个做了一个游戏,需求是实现在少有的(13个)英雄中进行循环滚 ...
- Cocos2d-X中实现菜单特效
Cocos2d-X中能够讲菜单和动作结合起来使用实现菜单特效 程序实例1:使用菜单和动作的组合实现菜单特效<一> #include "MenuItem.h"CCScen ...
- 【深入Cocos2d-x】探索Cocos2d-x中的内存管理-引用计数和自动释放池
2019独角兽企业重金招聘Python工程师标准>>> #深入Cocos2d-x-探索Cocos2d-x中的内存管理-引用计数和自动释放池 ###引用计数(Reference Cou ...
- Cocos2d-X中的ZORDER和Tag
ZORDER:是描写叙述渲染顺序的值,每一个CCNode都有ZORDER,默认是0 ZORDER越大,越后面绘制 假设ZORDER同样.那么看arrival顺序.先增加的节点先绘制 ZORDER仅仅在 ...
- 跟着石头哥哥学cocos2d-x(四)--cocos2dx中的动画以及TexturePacker使用
2019独角兽企业重金招聘Python工程师标准>>> 之前向Andreas Loew申请了一枚TexturePacker注册码,很快都下来了,作为回报我打算还是写一篇关于Textu ...
- Cocos2dx中零散知识点
cocos2dx中有三种定时器:schedule,scheduleUpdate,scheduleOnce.功能分别是 每隔几秒调用自定义函数.调用系统默认的update()函数.只调用一次自定义函数 ...
- cocos2d-x 中创建 CCSprite 精灵动画
本文原创版权归 博客园 Terry_龙 所有,转载请标明原创作者及出处,以示尊重! 作者:Terry_龙 原文:http://www.cnblogs.com/TerryBlog/archive/201 ...
- cocos2dx中的文字显示
cocos2d-x 中添加显示文字的三种方式 LabelTTF .LabelBMFont 和 LabelAtlas 在 cocos2d-x 中有三个类可以在层或精灵中添加文字: LabelTTF La ...
- 在cocos2d-x中使用DragonBones实现骨骼动画
基础知识 要看懂本文,你需要了解骨骼动画(或称关节动画)是什么,以及DragonBones是什么.下面提供了一些资料: Skeletal Animation (Wikipedia en) Dragon ...
最新文章
- c# winforms TextBox的记忆功能
- python代码示例下载-python下xml解析库lxml最新版下载安装以及代码示例
- PostgreSQL学习笔记9之事务隔离
- pg_config executable not found
- css中border制作各种形状
- [教程]微信官方开源UI库-WeUI使用方法【申明:来源于网络】
- ORACLE 11G DATA GUARD配置之配置过程
- 服务器维护经验分享,医院IT运维经验分享.pdf
- 模拟登录新浪微博(Python)
- 【Java_基础】java中static与final关键字的区别
- (1) python 将numpy数组导出excel
- Dorado7使用常见问题,不定时持续更新。
- java 淘口令_简单实现淘口令
- 智能建造-钢结构数字应用(附全文PPT)
- 浅谈缓存-注解驱动的缓存 Spring cache介绍
- ICLR 2020|PairNorm: Tackling Oversmoothing in GNNs
- 倍福 BECKHOFF CX9020 是一款适合 DIN 导轨安装的紧凑型以太网控制器,如何做CAN隔离
- c语言void delayms,C语言题、谁帮我看看啊!!!!
- [SD.TEAM语录]阿翔语录
- 官网实例详解-目录和实例简介-keras学习笔记四
热门文章
- 【Tensorflow】图像的读取、解码、显示、处理、编码、保存
- python反转数字_[蓝桥杯]使用列表反转的回文数(Python代码),数字,利用,取反
- php 数组 判断可以吗,php判断一个数组是否为有序
- python用正则表达式提取中文_用正则表达式从Python中的字符串中提取数字
- 树莓派python蓝牙_怎样通过蓝牙仅使用Android手机为树莓派配置Wi-Fi网络
- Linux ubuntu基本知识
- 基于SSM的企业工资管理系统
- 图标字体化 android,Android 优化 图标文字 iconfont
- Apache Server搭建独立图片服务器
- MySQL四种事务隔离级的说明