我注意到在 Sprite Kit 中坐标系被翻转了。
例如,这是一个 SKSpriteNode:
SKSpriteNode *car = [SKSpriteNode spriteNodeWithImageNamed:@"car"];
car.position = CGPointMake(0, 0);
[road addChild:car];
汽车位于其父级的中心。
当我将位置设置为:
car.position = CGPointMake(-50, 0);
然后它的位置更靠左。
但是当我想向下移动它并增加 Y 时,它会向上移动!
car.position = CGPointMake(-50, 20);
在 UIKit 中,增加 Y 总是意味着某些东西向下移动。对我来说感觉更合乎逻辑。有没有办法在 Sprite Kit 中翻转坐标系?
最佳答案
您可以设置场景的 yScale
属性为-1。一切都会颠倒,但您也可以设置 yScale
每个节点的属性设置为 -1,这将导致它们正面朝上呈现。
您还可以创建一个类类别并创建一个名为 invertedPosition
的属性。使用自定义 getter/setter 反转默认值 position
属性(property)。
关于sprite-kit - 为什么 Sprite 套件中的坐标系翻转了,我可以全局更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20733953/