【问题标题】:Should I use Touches from NSSet or Touches from UIEvent in cocos2d我应该在 cocos2d 中使用来自 NSSet 的 Touches 还是来自 UIEvent 的 Touches
【发布时间】:2011-12-28 02:22:41
【问题描述】:

我注意到有很多不同的方式来处理输入触摸。 (多点触控)

功能类似

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

我应该直接使用touches(第一个参数)还是应该使用[event allTouches](第二个参数)

我注意到有些人甚至使用

UITouch *touch = [touches anyObject];

我检查了 Apple 文档,anyObject 只是从 NSSet 返回一个对象,这不是有点随机吗?如果你正在做多点触控,每次触控的 id 都很重要,我认为调用它没有任何用处。

我也知道[event allTouches]实际上返回所有窗口中的所有触摸但是当我们在cocos2d中做的时候,我想大部分时间我们只处理一个窗口?

假设我的游戏一次只有 1 个视图(openGL 视图),那么我应该使用哪些触控? 第一个论点触及或[event allTouches]

希望有人能帮我解决这个问题:)

【问题讨论】:

    标签: objective-c cocos2d-iphone


    【解决方案1】:

    如果你想使用多点触控,你应该使用这个功能:

    - (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    

    如果你想使用一键式,你应该使用这个功能:

    - (void)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
    

    如果您使用多点触控并且需要第一次触控,您应该使用 NSSet 触控的第一个参数,对于第二次触控,您应该使用第二个参数等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多