【问题标题】:Detecting image touch (cocos2d)?检测图像触摸(cocos2d)?
【发布时间】:2009-05-19 02:28:32
【问题描述】:

在 cocos2d 中如何检测图像上的触摸?我遇到了很多麻烦,所以提前谢谢!

【问题讨论】:

    标签: iphone image cocos2d-iphone


    【解决方案1】:

    您在 Layer 类中实现 ccTouchesBegan/Ended/Moved 方法,然后根据您希望检测触摸的节点容器检查触摸位置。

    例如:

    -(BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
      UITouch touch = [touches anyObject];
      CGPoint location = [[Director sharedDirector] convertCoordinate: [touch locationInView: [touch view]]];
    
      CGRect mySurface = CGRectMake(100, 100, 50, 50);
      if(CGRectContainsPoint(mySurface)) {
        // do something
        return kEventHandled;
      }
      return kEventIgnored;
    }
    

    现在,Cocos2D 0.8(现在处于活动测试版)中的所有变化都通过使用“Touch Delegates”和“Touches Test”中的示例(从我刚刚查看的源代码来看,这似乎是一个乒乓球游戏)结束)。

    我不确定为什么 Corey 说要使用 UIKit 控件来检测触摸,因为 Cocos2D 有自己的处理方式。

    只有图层可以接收触摸 - 不建议您为每个可触摸的“游戏对象”(即玩家和对象)使用图层...

    【讨论】:

      【解决方案2】:

      您需要使用标准 UIKit 类在游戏顶部过度隐藏触摸表面。

      然后您通过这些对象检测和解释触摸并将控件传递给您的游戏。

      如果您有更具体的问题,可以提供更多信息或提出其他问题。

      【讨论】:

        【解决方案3】:

        这篇文章会给你答案 cocos2D for iPhone 和触摸检测的问题 Problem with cocos2D for iPhone and touch detection

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-27
          • 1970-01-01
          相关资源
          最近更新 更多