检测图像触摸(cocos2d)?

时间:2009-05-19 02:28:32

标签: iphone image cocos2d-iphone

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

3 个答案:

答案 0 :(得分:2)

在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(现在处于活动测试阶段)的所有变化,并且可以在“触摸测试”中看到(这看起来像是我刚看过的来源的乒乓球游戏结束)。

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

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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