iOS SpriteKit - 可能是屏幕后方的坐标错误?

时间:2015-05-19 07:39:37

标签: ios iphone ios7 ios8 sprite-kit

我知道我必须做些蠢事。 但对我而言,现在似乎坐标(X,Y)是相反的。

我有一个仅定义为纵向模式的应用。 我通过使用self.view.frame.size获得宽度和高度。 尺寸打印为:"宽度:768,高度:1024"。

然而,当我画出简单的东西时,我发现我得到的图片我希望如果我交换坐标。

这是一个错误还是我错过了什么?

下面的片段绘制了4行(tic tac toe lines)。 请注意,这应该正确绘制tic tac toe,其中使用 width 变量( unexpected )绘制垂直线。 原始(不正确)代码使用高度变量(预期)绘制垂直线。

<div ng-repeat="number in numbers|orderBy:'value'">
     <input type="number" ng-model="number.value">
</div>  

*更新* 要清楚,为了让我画出一些我希望绘制的东西,我必须交换x和y坐标。

*已解决*

问题是在我的场景文件(.sks)中,尺寸是横向模式。这完全决定了宽度和高度,这就是问题所在。

2 个答案:

答案 0 :(得分:0)

SpriteKit使用标准的图形式坐标:左下角是(0,0),X向右,Y向上,Z在屏幕外朝向你。

这与标准屏幕坐标不同:左上角的(0,0)。

阅读本文:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html

答案 1 :(得分:0)

你可以说uikit从TL角落开始做'错',

spritekit / corgraphics / OpenGL / OS X默认都使用笛卡尔坐标系(见http://en.wikipedia.org/wiki/Cartesian_coordinate_system