在cocos2dx 3.0版本中,废弃了以往2.x版本的写法,我们先来看一下Layer.h中的一段代码
-
- //单点触摸
- @H_301_27@virtualboolonTouchBegan(Touch*touch,Event*unused_event);
- @H_301_27@virtual@H_301_27@voidonTouchMoved(Touch*touch,Event*unused_event);
- @H_301_27@virtual@H_301_27@voidonTouchEnded(Touch*touch,248)"> @H_301_27@virtual@H_301_27@voidonTouchCancelled(Touch*touch,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> //多点触摸
- @H_301_27@virtual@H_301_27@voidonTouchesBegan(@H_301_27@conststd::vector<Touch*>&touches,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> @H_301_27@virtual@H_301_27@voidonTouchesMoved(@H_301_27@conststd::vector<Touch*>&touches,248)"> @H_301_27@virtual@H_301_27@voidonTouchesEnded(@H_301_27@conststd::vector<Touch*>&touches,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> @H_301_27@virtual@H_301_27@voidonTouchesCancelled(@H_301_27@conststd::vector<Touch*>&touches,Event*unused_event);
单点触摸:(即只有注册的Layer才能接收触摸事件)
onTouchBegan: 如果返回true:本层的后续Touch事件可以被触发,并阻挡向后层传递
如果返回false,本层的后续Touch事件不能被触发,并向后传递,也就是不会调用onTouchMoved
简单点来说,如果
1.Layer 只有一层的情况:
单点触摸简单用法: