我先给大家介绍一下节点层次结构:
SKView->SKScene->SKNode
我在视图中添加了一个 UIPinchGestureRecognizer,以便我可以放大和缩小我的内容。这是 SKScene 对象中的代码:
-(void)handlePinch:(UIPinchGestureRecognizer*)pinchRecognizer{
[self runAction:[SKAction scaleBy:pinchRecognizer.scale duration:0]];
pinchRecognizer.scale = 1;
}
一切都很好,除了两件事:
- 在我节点的触摸事件中,我检查触摸的位置并采取相应的行动。只要场景的规模不受影响,一切都可以正常工作。但是,如果我放大或缩小,我就不能再这样做了。这是因为即使我似乎触摸了屏幕上的同一个点,但在缩放之前和之后实际上是不同的。在 Cocos2D 中,我遇到了完全相同的问题。但是我可以通过使用方法将触摸点转换为节点空间来解决这个问题
convertToNodeSpace
。Sprite Kit 中应该有一个等价物。它是什么? - 捏合时,锚点在左下角。有没有办法让它从捏合的地方放大?