代码之家  ›  专栏  ›  技术社区  ›  thyrgle

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

  •  0
  • thyrgle  · 技术社区  · 16 年前

    所以当我看到cctouchesbegan(或者说touchesbegan)的时候,我通常会看到这样的情况:

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

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

    抱歉,如果这是一个新问题,但是,我只是不理解,如果你需要更多的澄清,请问我如何才能澄清自己更多。

    2 回复  |  直到 16 年前
        1
  •  0
  •   TechZen    16 年前

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

    Responder Objects in the Responder Chain

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

    最后一句话听起来很奇怪。

        2
  •  0
  •   Rob Segal    16 年前

    我前面没有样本,但cocos2d下载包中应该有一个例子,演示触摸事件以及它如何向下传播到sprites。

    推荐文章