博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x 多点触摸
阅读量:6863 次
发布时间:2019-06-26

本文共 2019 字,大约阅读时间需要 6 分钟。

多点触摸的实现步骤与单点触摸类似,setTouchEnabled(true)开启触摸功能,注冊触摸事件,重载多点触摸函数:ccTouchesBegan(開始)、ccTouchesMoved(移动)、ccTouchesEnded(结束)、ccTouchesCancelled(系统中断取消触摸事件),每一个多点触摸函数都能够通过遍历整个CCSet来获得全部的触点。

 

程序代码:

头文件增加触摸重载函数:

virtual void registerWithTouchDispatcher(void);	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);

 

cpp文件增加:

setTouchEnabled(true);

 

定义实现这些函数:

void HelloWorld::registerWithTouchDispatcher(){	CCDirector *pdir = CCDirector::sharedDirector();	pdir->getTouchDispatcher()->addStandardDelegate(this, 0);}void HelloWorld::ccTouchesBegan(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent){	CCSetIterator iter = pTouches->begin();	for (; iter != pTouches->end(); iter++)	{		CCTouch* pTouch = (CCTouch*)(*iter);				CCPoint location = pTouch->getLocation();		CCLOG("ccTouchesBegan x: %f, y: %f", location.x, location.y);			}}void HelloWorld::ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent){	CCSetIterator iter = pTouches->begin();	for (; iter != pTouches->end(); iter++)	{		CCTouch* pTouch = (CCTouch*)(*iter);		CCPoint location = pTouch->getLocation();		CCLOG("ccTouchesEnded x: %f, y: %f", location.x, location.y);	}}void HelloWorld::ccTouchesMoved(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent){	CCSetIterator iter = pTouches->begin();	for (; iter != pTouches->end(); iter++)	{		CCTouch* pTouch = (CCTouch*)(*iter);		CCPoint location = pTouch->getLocation();		CCLOG("ccTouchesMoved x: %f, y: %f", location.x, location.y);	}}void HelloWorld::ccTouchesCancelled(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent){	CCSetIterator iter = pTouches->begin();	for (; iter != pTouches->end(); iter++)	{		CCTouch* pTouch = (CCTouch*)(*iter);		CCPoint location = pTouch->getLocation();		CCLOG("x: %f, y: %f", location.x, location.y);	}}

 

转载地址:http://pvqyl.baihongyu.com/

你可能感兴趣的文章
在ubuntu中配置java环境变量遇到的一些问题
查看>>
数据库理论知识
查看>>
javascript面向对象技术基础(三)
查看>>
JTA的解释
查看>>
OSPF区域详解和3种认证--CCNP学习笔记
查看>>
ProGuard 工具的使用
查看>>
jquery教程2
查看>>
bootstrap-内联文本元素-改变大小写
查看>>
使用sp_dbmmonitorresults来监控镜像
查看>>
zabbix action报警配置
查看>>
oracle sql
查看>>
解决mysql开启GTID主从同步出现1236错误问题
查看>>
缺乏规模效应 腾讯视频或借道短视频突围竞争
查看>>
tomcat多实例配置
查看>>
gluSphere 函数解析(OpenGL画球体)
查看>>
高效系列:Win 10 关闭系统快速访问功能,设置自定义文件夹
查看>>
Spads 工作组为 Cikers 项目编写的密码库使用说明
查看>>
有道云笔记Markdown指南
查看>>
IDA中文编码设置
查看>>
linux上部署hadoop集群 HA+Federation篇
查看>>