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时的缺陷相关推荐

  1. 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 ...

  2. java用户输入解析_Java中的3种输入方式实现解析

    Java中的3种输入方式实现解析 发布于 2020-8-8| 复制链接 摘记: 这篇文章主要介绍了Java中的3种输入方式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学 ...

  3. 从多维度解析神经科学中的视觉编码

    来源:脑人言 一棵树是如何被知觉为"一棵树"?我又是如何认出你是"你"?我们可能会说这很大程度依赖于我们的视觉感知.以后者为例,从你身上反射的光将你的信息传入我 ...

  4. 深入解析Javascript中this关键字的使用

    深入解析Javascript中面向对象编程中的this关键字 在Javascript中this关键字代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如: function TestFun ...

  5. 【Java 虚拟机原理】Java 类中的类加载初始化细节 ( 只使用类中的常量时加载类不会执行到 ‘初始化‘ 阶段 )

    文章目录 一.类加载初始化时机 二.常量加载示例 三.数组加载示例 一.类加载初始化时机 类加载时机 : Java 程序执行时 , 并不是一开始将所有的字节码文件都加载到内存中 , 而是用到时才进行加 ...

  6. 解析Objective-C中多态、动态类型和动态绑定

    解析Objective-C中多态.动态类型和动态绑定 转自http://mobile.51cto.com/iphone-285157.htm Objective-C中多态.动态类型和动态绑定是本文要介 ...

  7. JDK源码解析 Comparator 中的策略模式

    JDK源码解析 Comparator 中的策略模式.在Arrays类中有一个 sort() 方法,如下: public class Arrays{public static <T> voi ...

  8. 从源码角度解析Android中APK安装过程

    从源码角度解析Android中APK的安装过程 1. Android中APK简介 Android应用Apk的安装有如下四种方式: 1.1 系统应用安装 没有安装界面,在开机时自动完成 1.2 网络下载 ...

  9. java 获取spring对象数组_解析Java中如何获取Spring中配置的bean

    解析Java中如何获取Spring中配置的bean Java中如何获取Spring中配置的bean?下面是由百分网小编为大家整理的解析Java中如何获取Spring中配置的bean,喜欢的可以收藏一下 ...

最新文章

  1. 二进制计算机课教案,计算机与二进制教案.pdf
  2. PHP安装laravel(win+linux)
  3. div+css实现表头固定内容滚动表格
  4. 蚂蚁金服金融级容器引擎实践之路
  5. C语言控制台窗口图形界面编程(五).
  6. IntelliJ IDEA Community Edition 社区版插件汇总
  7. CSDN自定义模块简单设置之——添加图片、文字、链接等
  8. nginx工作原理及配置
  9. netbeans php 发布,Apache NetBeans 12.0 LTS 发布
  10. 通过opencv标记图片以及写入Excel小方法
  11. vue 父组件重新加载子组件
  12. 上班族保护颈椎有诀窍
  13. 上证指数(000001)股票历史数据,下载上证指数(000001历史数据
  14. 基于QT(c++)的家庭财务管理系统
  15. 深度学习系列46:人脸图像超分GFP-GAN
  16. jq简单实现点击按钮跳转页面到指定tab内容
  17. 如何通过在FMC上为FTD下发PBR以及FMC如何为FTD开启traceroute回显
  18. dialog 弹出框,遮罩层覆盖内容
  19. 科汛用mysql数据库_KesionCMS科讯CMS系统SQL标签使用方法详细介绍
  20. 福禄克FTK2000光纤入户损耗质检官冲鸭

热门文章

  1. 记一次修复被篡改的IE首页
  2. Bootloader
  3. 从windows server的文件服务到分布式文件服务(八)
  4. 腾讯开源项目盘点:WeUI,WePY,Tinker,Mars等
  5. 原 c++中map与unordered_map的区别
  6. java异常处理之throw, throws,try和catch
  7. c primer plus(第五版)读书笔计 第四章(1)
  8. 揪出“凶手”——实战WinDbg分析电脑蓝屏原因
  9. W3C XSL Transformations (XSLT) Version 2.0 翻译计划
  10. 转载 CreateWaitableTimer和SetWaitableTimer函数