2dx解析cocosbuilder中使用layer时的缺陷
来源:互联网 发布:长沙自考网络学校 编辑:程序博客网 时间:2024/04/28 01:19
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 supported CCLOG("The property '%s' is not supported!", PROPERTY_MOUSE_ENABLED); } else if(strcmp(pPropertyName, PROPERTY_KEYBOARD_ENABLED) == 0) { // TODO: Not supported CCLOG("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 supported CCLOG("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); }}
0 0
- 2dx解析cocosbuilder中使用layer时的缺陷
- cocosbuilder中scrollview的使用
- 2dx关于js响应layer触摸消息的bug
- 2dx JniHelper的使用
- Cocos-2dx-Lua中使用Luaj的完整示例
- CocosBuilder 的使用
- cocos2d-x tips(二)关于cocosbuilder中的动画和2dx的action同时正常运行的问题
- cocosbuilder 使用的那些事[不断完善中]
- dx编程中链接时提示错误不能解析的外部符号……
- 场景编辑器cocosbuilder的使用
- Cocos2dx 之 cocosbuilder的使用
- 工具CocosBuilder的使用--集成
- 2dx下,可以使用的字体
- dx 工具的使用
- [cocos2dx开发技巧2]工具CocosBuilder的使用--集成
- [cocos2dx开发技巧2]工具CocosBuilder的使用--集成
- [cocos2dx开发技巧2]工具CocosBuilder的使用–集成
- CocosBuilder 使用
- rsyncd.conf
- Android Handler之线程交互
- 页面js中文乱码
- 父母留给了我什么
- linux 负载均衡技术之 LVS
- 2dx解析cocosbuilder中使用layer时的缺陷
- a+++b 在编译基础上的讨论
- Ubuntu终端Terminal常用快捷键
- 身份证校验
- ThinkPHP-RBAC为角色分配权限之展示表单
- ubuntu14.04安装搜狗输入法
- 变量交换
- Java中数组和List集合如何互相转换。
- 关于js-binding中Layer触摸事件的优化