0

我先给大家介绍一下节点层次结构:

SKView->SKScene->SKNode

我在视图中添加了一个 UIPinchGestureRecognizer,以便我可以放大和缩小我的内容。这是 SKScene 对象中的代码:

-(void)handlePinch:(UIPinchGestureRecognizer*)pinchRecognizer{
    [self runAction:[SKAction scaleBy:pinchRecognizer.scale duration:0]];
    pinchRecognizer.scale = 1;
}

一切都很好,除了两件事:

  1. 在我节点的触摸事件中,我检查触摸的位置并采取相应的行动。只要场景的规模不受影响,一切都可以正常工作。但是,如果我放大或缩小,我就不能再这样做了。这是因为即使我似乎触摸了屏幕上的同一个点,但在缩放之前和之后实际上是不同的。在 Cocos2D 中,我遇到了完全相同的问题。但是我可以通过使用方法将触摸点转换为节点空间来解决这个问题convertToNodeSpace。Sprite Kit 中应该有一个等价物。它是什么?
  2. 捏合时,锚点在左下角。有没有办法让它从捏合的地方放大?
4

0 回答 0