gpt4 book ai didi

cocos2d-iphone - cocos2d : ccTouchesBegan not called, 但 ccTouchBegan 确实触发

转载 作者:行者123 更新时间:2023-12-01 11:06:02 25 4
gpt4 key购买 nike

我正在尝试让我的 CCLayer 子类响应多点触控。在我调用的 init 方法中

self.isTouchEnabled=YES;

在一个名为 registerWithTouchDispatcher 的方法中,我调用

[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:NO];

在我的应用委托(delegate)中,我调用

[glView setMultipleTouchEnabled:YES];

ccTouchBegan:withEvent: 方法被调用,但 ccTouchesBegan:withEvent 从未被调用。我是 cocos2d 的新手,所以它可能很简单,我只是不知道它是什么。

最佳答案

在您的类中添加 [[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:0]; 以接收非目标触摸。

来自 cocos2d 文档(链接:http://www.cocos2d-iphone.org/api-ref/0.99.0/interface_c_c_touch_dispatcher.html)

CCTouchDispatcher。处理所有触摸事件的单例。调度程序将事件调度到已注册的 TouchHandler。有两种不同类型的触摸处理程序:

标准触摸处理程序目标触摸处理程序标准触摸处理程序的工作方式类似于 CocoaTouch 触摸处理程序:一组触摸被传递给代理。另一方面,Targeted Touch Handlers 一次只接收一次触摸,它们可以“吞下”触摸(避免事件传播)。

首先,调度器将接收到的触摸发送到目标触摸。 Targeted Touch Handlers 可以吞下这些触摸。如果仍有剩余触摸,则剩余触摸将被发送到标准触摸处理程序。

关于cocos2d-iphone - cocos2d : ccTouchesBegan not called, 但 ccTouchBegan 确实触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com