不知道如何使用TouchesBegan做我想做的事情

时间:2010-05-16 17:42:58

标签: iphone cocos2d-iphone

因此,当我看到ccTouchesBegan(或触及关于此事实的事情)时,我通常会看到这样的事情:

- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
   UITouch* touch = [touches anyObject];
}

但是,我没有得到的是你如何检测一个物体是否被触及?例如,我如何检查我声明的特定CCSprite是否已被触及?

很抱歉,如果这是一个新的问题,但是,我只是不明白,如果你需要更多的澄清,请问我如何更多地澄清自己。

2 个答案:

答案 0 :(得分:0)

我不熟悉cocoas2d,但在标准API中,它首先将触摸发送到触摸的视图,然后将视图响应器链发送到具有控制器的视图。如果该控制器没有处理触摸,则它会上升到下一个视图,直到它最终到达Window对象。

请参阅Responder Objects in the Responder Chain

捕获特定对象触摸的最佳位置是对象本身。在类精灵视图的情况下,精灵本身很可能需要响应触摸,例如通过移动自己。如果需要将触摸传递给另一个对象,则应使用委托模式,以便精灵可以告诉其委托如何触摸它。

最后一句听起来很奇怪。

答案 1 :(得分:0)

我没有在我面前的样本,但在Cocos2D下载包中应该有一个示例,它演示了触摸事件以及它如何传播到精灵。