关于cocos2dx的textfield事件响应
2015-08-27 17:52
501 查看
time:2015/08/27
1. textfiled
cocostudio的输入框,看源代码知道他是直接继承widget的,但是真正的输入框功能是label实现的,是Textfield类的一个成员变量
2. addEventListener
注册函数对应的四个事件类型
(1)attach_with_ime
焦点进入
(2)detach_with_ime
焦点离开
(3)insert_text
输入文字
(4)delete_backward
输出文字
3. 事件触发机制
(1)touch:包括attach和detach
* 点击输入框其实就是触摸事件,然后判断当前焦点状态,做出进入还是离开的事件触发
(2)insert和delete
* 直接从glfw触发调用到这两个函数
(3)流程图
(4)问题
*描述: attach响应之后detach也会响应一次
*解决:修改update函数,参考cocos2dx-3.6
修改之前代码:
修改之后的代码:
4. 总结
(1)认识了TextFieldTTF的事件响应
(2)在此基础上加光标等内容会更加得心应手
1. textfiled
cocostudio的输入框,看源代码知道他是直接继承widget的,但是真正的输入框功能是label实现的,是Textfield类的一个成员变量
2. addEventListener
注册函数对应的四个事件类型
(1)attach_with_ime
焦点进入
(2)detach_with_ime
焦点离开
(3)insert_text
输入文字
(4)delete_backward
输出文字
3. 事件触发机制
(1)touch:包括attach和detach
bool TextField::onTouchBegan(Touch *touch, Event *unusedEvent) { bool pass = Widget::onTouchBegan(touch, unusedEvent); if (_hitted) { _textFieldRenderer->attachWithIME(); } else { this->didNotSelectSelf(); } return pass; }
* 点击输入框其实就是触摸事件,然后判断当前焦点状态,做出进入还是离开的事件触发
(2)insert和delete
void TextFieldTTF::insertText(const char * text, size_t len); void TextFieldTTF::deleteBackward();
* 直接从glfw触发调用到这两个函数
(3)流程图
(4)问题
*描述: attach响应之后detach也会响应一次
*解决:修改update函数,参考cocos2dx-3.6
修改之前代码:
void TextField::update(float dt) { if (getAttachWithIME()) { attachWithIMEEvent(); setAttachWithIME(false); } if (getDetachWithIME()) { detachWithIMEEvent(); setDetachWithIME(false); }
修改之后的代码:
void TextField::update(float dt) { if (getDetachWithIME()) { detachWithIMEEvent(); setDetachWithIME(false); } if (getAttachWithIME()) { attachWithIMEEvent(); setAttachWithIME(false); }
4. 总结
(1)认识了TextFieldTTF的事件响应
(2)在此基础上加光标等内容会更加得心应手
相关文章推荐
- cocos lua学习笔记
- cocos2d-x学习笔记(四)粒子系统使用中多次调用时GL calls不断增加的解决办法
- Cocos2d-x -- 如何让背景从上到下滚动
- cocos2d-x 颜色混合
- cocos2dx 简易摇杆demo
- COCOS2D-X编译成安卓APP添加友盟统计和百度广告的代码示例
- cocos2d-x在安卓平台编译常见的2个问题及解决办法
- Cocos2d-x/Cocos2d-js编译64位so库中遇到的问题
- 解决cocos2d-x 安卓锁屏再解锁,OPenGL报错;后台转前台异常问题解决办法 (续)
- cocos2d里面如何实现MVC
- 解决cocos2d-x 安卓锁屏再解锁,OPenGL报错;后台转前台异常问题解决办法
- cocos2d-x中关于touch事件的响应
- cocos2d-x中关于touch事件的响应
- 【Cocos2dx】利用音量螺旋控件控制血量条
- Cocos2d-x -- 图片菜单按钮
- 【Cocos2d-x】 一个简单的将plist分割为原图的命令行工具
- How to change in the Cocos2d-x project from landscape to portrait both in iOS and Android
- 使用cocos compile -p android时总是报错误 BUILD FAILED \ant\build.xml:892
- cocos2d 3.x使用中遇到一些问题
- cocos2dx 玩转标签Label类