SpriteKit/SKScene:如何从左上角而不是从左下角绘制?

Nov*_*der 3 ios sprite-kit skscene swift

我们知道SKScene的原点在左下角。

但是我尝试从一个包含 0 和 1 矩阵的文件中进行简单的级别加载。虽然 0 什么都不是,但 1 表示一堵墙(简单的矩形)。

由于文件的内容显然是从左上角到右下角,我想从场景的左上角绘制。

但是我的第一个角色是在场景的左下角绘制的。我尝试将场景的yScale设置为 -1,希望它反转 y 轴,但这不起作用

什么是最干净的方式,所以SKScene我总是从左上角开始绘制?我仍然想保持我anchorPoint的 0.5、0.5。

所以从左上角绘制将位于x=-widthOfScreen/2y=heightOfScreen/2

Hay*_*gan 5

我不确定这是否是你想要的,但如果你只是想改变坐标系,你可以做的是为 CGPoint 创建一个扩展,比如

//CGPoint+SpriteKit.swift
extension CGPoint {
    func flipCoordinates() -> CGPoint {
        return CGPoint(x: x, y: UIScreen.mainScreen().bounds.height - y)
    }
}
Run Code Online (Sandbox Code Playgroud)

认为这应该有效,因为您的锚点是 (0.5, 0.5)