声 明 本教程仅用于初学cocos2dx同学使用,内容由本人(孤狼)学习过程中笔记编写,本教程使用cocos2dx版本为2.1.4。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。 gl.paea.cn版权所有。 |
hello,大家好,欢迎回到“和屌丝一起学cocos2dx”系列教程。上节我们说到了触控事件,不知道大家回去有没有测试呢?那个可爱的叮当猫是不是可以随着你的手指一起移动呢?哈哈,好了,这节我们说一下多点触控,估计大家早就迫不及待了吧。
【一】:这个和单点有啥区别
1.使用上的区别。
这个不用多说,有些情况下我们是需要多点触控来实现更好的效果,比如,切水果。
2.和单点的区别
[1].单点使用监听类是CCtargetedTouchDelegate,而多点使用CCtangardTouchDelegate.
[2].多点触控还需要多一个步骤就是注册多点触控。这里你可能会问,为啥单点触控都放在onEnter生命周期函数里,多点干嘛要单独写个。这里是因为,如果你放在onEnter里,可能会崩溃哦。
[3].另外多点触控要有开启才能用,就是开启多点触控函数setTouchEnabled.
[4].多点触控中的ccTouchesBegan不是布尔型哦。
【二】:函数
添加委托
addStandardDelegate();
开启多点触控(不写没有效果哦)
setTouchEnabled();
触屏事件:
1.注册多点触控
virtual void registerWithTouchDispatcher(void);
2.当用户第一次触碰手机屏幕时响应的回调函数
virtual void ccTouchesBegan(CCSet * touchs,CCEvent * event);
3.当用户手指在手机屏幕上滑动时响应的回调函数
virtual void ccTouchesMoved(CCSet * touchs,CCEvent * event);
4.当用户手指在离开手机屏幕上时响应的回调函数
virtual void ccTouchesEnded(CCSet * touchs,CCEvent * event);
这里不再使用参数CCTouch,而是他们的集合。
CCtouch
1.getID()//得到当前触点的下标(0开始)
【三】:示例
1.新建项目Touchsdemo
2.加载5张图片