事件

cocos2dx触摸事件分标准事件(CCStandardTouchDelegate)和目标事件(CCTargetedTouchDelegate),其中标准事件对象平等的接收并处理事件,而目标事件是优先级高的对象优先处理事件并决定是否拦截事件的继续穿博文,如果在ccTouchBegin返回false,那ccTouchMove,ccTouchEnd,ccTouchCancle都接收不到事件了。
 CCLayer已经实现了标准事件( CCStandardTouchDelegate ),在初始化的时候调用setTouchEnable(true)方法开启,层被删除或切换时时,事件会自动移除。
 如果要使用目标事件,首先实现 CCTargetedTouchDelegate 接口,通过事件分发器注册 CCTouchDispatcher  >  addTargetedDelegate (delegate,priority,isSwalles)。在onexit移除。
在游戏层中设置 setAccelerometerEnabled(true) 开启加速器,实现这个方法接受事件, virtual void didAccelerate(CCAcceleration* pAccelerationValue);  CCAcceleration是一个结构体 包含加速度计获得的三个方向的加速度 ,通过计算各方向速度的变化可定义出摇晃,抛物,掉落等事件。加速器是移动设备才有的功能。PC和移动设备触摸事件的区别是,PC可悬停可右击,移动设备可多点触摸。

  CCTextFieldTTF 可输入文字控件。
 用法:

CCTextFieldTTF::create('默认显示的文本','字体名','字体大小')

其他函数:

       getString                获取文本框内容

       setString                设置文本框内容

       attachWithIME       开启虚拟键盘

       detachWithIME      关闭虚拟键盘


//当用户启动虚拟键盘的时候的回调函数

virtual bool onTextFieldAttachWithIME(CCTextFieldTTF * mysender);

//当用户关闭虚拟键盘的时候的回调函数

virtual bool onTextFieldDetachWithIME(CCTextFieldTTF * mysender);

//当用户输入的时候的回调函数

virtual bool onTextFieldInsertText(CCTextFieldTTF * mysender,const char * text,int textnum);

//当用户删除文字的时候的回调函数

virtual bool onTextFieldDeleteBackward(CCTextFieldTTF * mysender,const char * text,int textnum);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值