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