2dx解析cocosbuilder中使用layer时的缺陷
2dx解析cocosbuilder中使用layer时的缺陷
cocos2d-x 3.7
cocosbuilder中的layer通常会用到触摸属性:
但是在2dx解析布局文件的时候,却很多属性都没解析:
#define PROPERTY_TOUCH_ENABLED "isTouchEnabled"
#define PROPERTY_ACCELEROMETER_ENABLED "isAccelerometerEnabled"
#define PROPERTY_MOUSE_ENABLED "isMouseEnabled"
#define PROPERTY_KEYBOARD_ENABLED "isKeyboardEnabled"void LayerLoader::onHandlePropTypeCheck(Node * pNode, Node * pParent, const char * pPropertyName, bool pCheck, CCBReader * ccbReader) {if(strcmp(pPropertyName, PROPERTY_TOUCH_ENABLED) == 0) {((Layer *)pNode)->setTouchEnabled(pCheck);} else if(strcmp(pPropertyName, PROPERTY_ACCELEROMETER_ENABLED) == 0) {((Layer *)pNode)->setAccelerometerEnabled(pCheck);} else if(strcmp(pPropertyName, PROPERTY_MOUSE_ENABLED) == 0) {// TODO: Not supportedCCLOG("The property '%s' is not supported!", PROPERTY_MOUSE_ENABLED);} else if(strcmp(pPropertyName, PROPERTY_KEYBOARD_ENABLED) == 0) {// TODO: Not supportedCCLOG("The property '%s' is not supported!", PROPERTY_KEYBOARD_ENABLED);// This comes closest: ((Layer *)pNode)->setKeypadEnabled(pCheck);} else {NodeLoader::onHandlePropTypeCheck(pNode, pParent, pPropertyName, pCheck, ccbReader);}
}
最常用的ONE_BY_ONE和SwallowsTouches都没有解析,这样使用cocosbuilder编辑的那些属性还有什么用呢
下面是修改后的解析函数:
#define PROPERTY_DONT_TOUCH_SWALLOW "dontTouchSwallow"
#define PROPERTY_TOUCH_ONE_BY_ONE "touchOneByOne"
#define PROPERTY_TOUCH_ENABLED "touchEnabled"
#define PROPERTY_ACCELEROMETER_ENABLED "accelerometerEnabled"
#define PROPERTY_MOUSE_ENABLED "mouseEnabled"
#define PROPERTY_KEYBOARD_ENABLED "keyboardEnabled"void LayerLoader::onHandlePropTypeCheck(Node * pNode, Node * pParent, const char * pPropertyName, bool pCheck, CCBReader * ccbReader) {if(strcmp(pPropertyName, PROPERTY_TOUCH_ENABLED) == 0) {((Layer *)pNode)->setTouchEnabled(pCheck);} else if(strcmp(pPropertyName, PROPERTY_DONT_TOUCH_SWALLOW) == 0) {((Layer *)pNode)->setSwallowsTouches(!pCheck);} else if(strcmp(pPropertyName, PROPERTY_TOUCH_ONE_BY_ONE) == 0) {((Layer *)pNode)->setTouchMode(Touch::DispatchMode::ONE_BY_ONE);} else if(strcmp(pPropertyName, PROPERTY_ACCELEROMETER_ENABLED) == 0) {((Layer *)pNode)->setAccelerometerEnabled(pCheck);} else if(strcmp(pPropertyName, PROPERTY_MOUSE_ENABLED) == 0) {// TODO: Not supportedCCLOG("The property '%s' is not supported!", PROPERTY_MOUSE_ENABLED);} else if(strcmp(pPropertyName, PROPERTY_KEYBOARD_ENABLED) == 0) { ((Layer *)pNode)->setKeyboardEnabled(pCheck);} else {NodeLoader::onHandlePropTypeCheck(pNode, pParent, pPropertyName, pCheck, ccbReader);}
}
转载于:https://www.cnblogs.com/songcf/p/4763797.html
2dx解析cocosbuilder中使用layer时的缺陷相关推荐
- idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml,
第一种错误 :idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml, 解决方案如下:将ma ...
- java用户输入解析_Java中的3种输入方式实现解析
Java中的3种输入方式实现解析 发布于 2020-8-8| 复制链接 摘记: 这篇文章主要介绍了Java中的3种输入方式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学 ...
- 从多维度解析神经科学中的视觉编码
来源:脑人言 一棵树是如何被知觉为"一棵树"?我又是如何认出你是"你"?我们可能会说这很大程度依赖于我们的视觉感知.以后者为例,从你身上反射的光将你的信息传入我 ...
- 深入解析Javascript中this关键字的使用
深入解析Javascript中面向对象编程中的this关键字 在Javascript中this关键字代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如: function TestFun ...
- 【Java 虚拟机原理】Java 类中的类加载初始化细节 ( 只使用类中的常量时加载类不会执行到 ‘初始化‘ 阶段 )
文章目录 一.类加载初始化时机 二.常量加载示例 三.数组加载示例 一.类加载初始化时机 类加载时机 : Java 程序执行时 , 并不是一开始将所有的字节码文件都加载到内存中 , 而是用到时才进行加 ...
- 解析Objective-C中多态、动态类型和动态绑定
解析Objective-C中多态.动态类型和动态绑定 转自http://mobile.51cto.com/iphone-285157.htm Objective-C中多态.动态类型和动态绑定是本文要介 ...
- JDK源码解析 Comparator 中的策略模式
JDK源码解析 Comparator 中的策略模式.在Arrays类中有一个 sort() 方法,如下: public class Arrays{public static <T> voi ...
- 从源码角度解析Android中APK安装过程
从源码角度解析Android中APK的安装过程 1. Android中APK简介 Android应用Apk的安装有如下四种方式: 1.1 系统应用安装 没有安装界面,在开机时自动完成 1.2 网络下载 ...
- java 获取spring对象数组_解析Java中如何获取Spring中配置的bean
解析Java中如何获取Spring中配置的bean Java中如何获取Spring中配置的bean?下面是由百分网小编为大家整理的解析Java中如何获取Spring中配置的bean,喜欢的可以收藏一下 ...
最新文章
- 二进制计算机课教案,计算机与二进制教案.pdf
- PHP安装laravel(win+linux)
- div+css实现表头固定内容滚动表格
- 蚂蚁金服金融级容器引擎实践之路
- C语言控制台窗口图形界面编程(五).
- IntelliJ IDEA Community Edition 社区版插件汇总
- CSDN自定义模块简单设置之——添加图片、文字、链接等
- nginx工作原理及配置
- netbeans php 发布,Apache NetBeans 12.0 LTS 发布
- 通过opencv标记图片以及写入Excel小方法
- vue 父组件重新加载子组件
- 上班族保护颈椎有诀窍
- 上证指数(000001)股票历史数据,下载上证指数(000001历史数据
- 基于QT(c++)的家庭财务管理系统
- 深度学习系列46:人脸图像超分GFP-GAN
- jq简单实现点击按钮跳转页面到指定tab内容
- 如何通过在FMC上为FTD下发PBR以及FMC如何为FTD开启traceroute回显
- dialog 弹出框,遮罩层覆盖内容
- 科汛用mysql数据库_KesionCMS科讯CMS系统SQL标签使用方法详细介绍
- 福禄克FTK2000光纤入户损耗质检官冲鸭
热门文章
- 记一次修复被篡改的IE首页
- Bootloader
- 从windows server的文件服务到分布式文件服务(八)
- 腾讯开源项目盘点:WeUI,WePY,Tinker,Mars等
- 原 c++中map与unordered_map的区别
- java异常处理之throw, throws,try和catch
- c primer plus(第五版)读书笔计 第四章(1)
- 揪出“凶手”——实战WinDbg分析电脑蓝屏原因
- W3C XSL Transformations (XSLT) Version 2.0 翻译计划
- 转载 CreateWaitableTimer和SetWaitableTimer函数