如何通过触摸选项将图像设置到另一个固定位置?

时间:2009-02-03 15:32:49

标签: iphone objective-c cocos2d-iphone

我正在尝试使用Cocos2d构建iPhone应用程序。我想通过使用触摸作为我的愿望(快速或缓慢)将图像设置为固定位置的另一个固定位置。我有一些代码,但它无法正常工作。

所以,如果我得到任何解决方案,那么对我来说会更有帮助。

1 个答案:

答案 0 :(得分:1)

问题有点模糊,但是如果你想设置CocosNode的位置,你可以这样做:

[myNode setPosition:cpv(x,y)];

如果您希望节点偏离触摸位置,可以通过实施ccTouchesBegan:withEvent

来实现
-(BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  UITouch *touch = [touches anyObject];
  CGPoint location = [touch locationInView: [touch view]];
  CGPoint convertedLocation = [[Director sharedDirector] convertCoordinate:location];

  [myNode setPosition: cpv(convertedLocation.x - 100, convertedLocation.y - 100)];
  return kEventHandled;
}

这将使CocosNode偏移-100,-100到触摸发生的位置。

ccTouchesBegan:withEvent:应该在你的Layer中实现,isTouchesEnabled应该设置为YES以启用触摸。