Cocos2d-x学习笔记(六)—— 事件处理

Cocos2d-x学习笔记(六)—— 事件处理,第1张

概述事件处理: 事件监听和事件监听绑定 通知中心 Input输入框的使用 事件监听和事件监听绑定 事件监听处理,有个重要的类EventDispatcher: 这个类管理事件监听器的订阅和事件的分发 事件监听器列表以这样的方式来进行管理:当事件正在分发的过程中,事件监听器可以被添加或者移除,包括事件监听器内部的监听器。 其常用的成员函数: void addEventListenerWithSceneGr

事件处理:

事件监听和事件监听绑定 通知中心 input输入框的使用
事件监听和事件监听绑定
事件监听处理,有个重要的类Eventdispatcher: 这个类管理事件监听器的订阅和事件的分发 事件监听器列表以这样的方式来进行管理:当事件正在分发的过程中,事件监听器可以被添加或者移除,包括事件监听器内部的监听器。 其常用的成员函数: voIDaddEventListenerWithSceneGraphPriority(EventListener*Listener,Node*node)
给一个指定的事件添加一个事件监听器,该监听器带有基于场景图的优先级 。
参数:Listener 指定事件的监听器。 node 监听器的优先级基于此节点的绘制顺序
voIDaddEventListenerWithFixedPriority(EventListener*Listener,int fixedPriority)
为指定的事件添加一个固定优先级事件监听器。
参数:Listener 指定事件的监听器。 fixedPriority 监听器的固定优先级。 EventListenerCustom*addCustomEventListener(const std::string &eventname,const std::function< voID(EventCustom*)> &callback)
添加一个自定义事件监听器。 该监听器会使用值为1的一个固定优先级.
参数:eventname 任意的事件名称。 callback 跟事件名称关联的回调函数。
下面是各种类型的监听类,我们把需要的用到的监听类安所需的顺序添加到Eventdispatcher即可。 主要的监听类: EventListeneracceleration 重力感应
EventListenerCustom
用户自定义事件
EventListenerFocus
聚焦监听
EventListenerKeyboard
键盘监听
EventListenerMouse
鼠标监听
EventListenerPhysicsContactWithBodIEs
碰撞监听器
EventListenerPhysicsContactWithGroup 碰撞监听器
EventListenerPhysicsContactWithShapes
碰撞监听器
EventListenertouchAllAtOnce 多点触碰
EventListenertouchOneByOne 单点触碰
EventListenerController
游戏手柄监听类

启动添加监听的例子:
auto Listener = EventListenertouchAllAtOnce::create();    Listener->ontouchesBegan = CC_CALLBACK_2(LayerTest1::ontouchesBegan,this);    Listener->ontouchesMoved = CC_CALLBACK_2(LayerTest1::ontouchesMoved,this);    Listener->ontouchesEnded = CC_CALLBACK_2(LayerTest1::ontouchesEnded,this);    Eventdispatcher *_eventdispatcher;    _eventdispatcher->addEventListenerWithSceneGraPHPriority(Listener,this);

通知中心
消息传递和接收,类似androID里的广播机制 主要函数: voID addobserver(Ref *target,SEL_CallFuncO selector,const std::string& name,Ref *sender); 功能:添加通知 参数:1、通知目标;2、通知回调函数;3、通知的名字;4、发送通知的通知源 voID removeObserver(Ref *target,const std::string& name); 功能:移除通知 参数:1、通知目标;2、通知的名字 voID postNotification(const std::string& name,Ref *sender);
功能:发送通知 参数:1、通知的名字;2、发送通知的通知源
使用时:
NotificationCenter::getInstance()->addobserver(Ref *target,Ref *sender);NotificationCenter::getInstance()->postNotification(const std::string& name,Ref *sender);NotificationCenter::getInstance()->removeObserver(Ref *target,const std::string& name);

input输入框的使用

auto pTextFIEld = TextFIEldTTF::textFIElDWithPlaceHolder("<click here for input>",Font_name,Font_SIZE);addChild(pTextFIEld);

EventListenerCustom cocos2d EventListenerFocus cocos2d EventListenerKeyboard cocos2d EventListenerMouse cocos2d EventListenerPhysicsContact cocos2d EventListenerPhysicsContactWithBodies cocos2d EventListenerPhysicsContactWithGroup cocos2d EventListenerPhysicsContactWithShapes cocos2d EventListenerTouchAllAtOnce cocos2d EventListenerTouchOneByOne cocos2d 总结

以上是内存溢出为你收集整理的Cocos2d-x学习笔记(六)—— 事件处理全部内容,希望文章能够帮你解决Cocos2d-x学习笔记(六)—— 事件处理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存