sprite-kit - 为什么 Sprite 套件中的坐标系翻转了,我可以全局更改吗?

标签 sprite-kit skspritenode

我注意到在 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/

相关文章:

swift - (SWIFT) Sprite 在添加后没有给我正确的 zRotation 值

ios - 使用 Spritekit 的简单 Gif 动画

swift - 使用 spriteKit 动画后恢复第一张图片

swift - SKShapeNode 笔划在使用 CGPath 绘制时显示间隙

Swift Sprite 套件 SKPhyshicsBody

ios - SpriteKit 中的 "Collision Map"

ios - 无法理解如何使用 run(_block :) new to programing SPRIKE KIT

ios - 在特定的iPhone型号上,StoreKit In App购买似乎崩溃了?

swift - 如何在swift SKSpriteNode中添加按钮效果

swift - 无法更改 SKSpriteNode 的纹理