registerWithTouchDispatcher()函数的使用
registerWithTouchDispatcher()函数的使用
registerWithTouchDispatcher()函数主要用于注册Touch事件。
当我们使用this->setTouchEnabled(true);方法开启触摸事件时,默认开启的是多点触摸,而我们有时只需要单点触摸就够了。实现方法如下:
代码例子:
void HelloWorld::registerWithTouchDispatcher()
{
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
}
在registerWithTouchDispatcher()函数中注册的好处是:当CCLayer或CCLayer的派生类加载时就会调用会调用registerWithTouchDispatcher()函数 而当前CCLayer被移除时也会对注册的touch事件进行注销。
argetedTouchDelegate.
使用这种类型的delegate的好处:
1.你不需要再处理NSSets了,CCTouchDispatcher 为了做了分离工作。每次调
用的时候,你都会得到一个唯一的UITouch。
这里我们将要覆盖 “ccTouchBegan” 和“ccTouchEnded” --第一个方法当第一个
touch事件开始的时候被调用,另外一个是touch结束的时候被调用。
值得注意的是,一定要重写ccTouchBegan函数让其返回true。不然就会出错,因
为系统不会给你默认返回真。
bool HelloWorld::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
return true;
}
ccTouchEnded函数:
void HelloWorld::ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)