一、开启多点触摸
在ios文件夹中的AppController.mm文件的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中:
[__glView setMultipleTouchEnabled:true];
二、注册触摸事件( StandardDelegate )
a)可以在onEnter方法中: CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0);
b)也可以重写: virtual void registerWithTouchDispatcher(void); 在这个方法中:
CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0);
在init方法中: setTouchEnabled(true);
三、触摸事件委托方法
virtual void ccTouchesBegan(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
virtual void ccTouchesMoved(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
virtual void ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
virtual void ccTouchesCancelled(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
可以用下面的遍历方法,获取每一个触摸点的信息。
CCSetIterator iter = pTouches->begin();
for (; iter != pTouches->end(); iter++)
{
CCTouch* pTouch = (CCTouch*)(*iter);
CCPoint location = pTouch->getLocation();
}