iPhone和iPad的独立坐标系
Posted
技术标签:
【中文标题】iPhone和iPad的独立坐标系【英文标题】:Independent coordinate system for iPhone and iPad 【发布时间】:2014-02-09 01:51:38 【问题描述】:我正在为 iPhone 和 iPad 制作一个通用应用程序,我只有一个 iPad 可以测试。我想知道是否有一种方法可以创建一个可以使用的坐标系,以便 UI 元素(自制)或特别是节点/精灵节点可以在两个屏幕上处于相对相同的位置?
例如,假设我的通用坐标为 1,1。这可以在 iPhone 上转换为 1,1,但在 iPad 上说是 2,3(数字凭空出现)。
感谢任何帮助,谢谢。
【问题讨论】:
【参考方案1】:我最近使用的方法是相对于我的 SKScene 宽度和高度来确定任何位置。如果你定义一个位置如下:
SKScene *myScene;
SKSpriteNode *mySpriteNode;
mySpriteNode.position = CGPointMake(myScene.size.width/35.0, myScene.size.height/20.0);
您的精灵节点将在任何设备上保持相同的相对位置 - 假设您的 SKScene 始终占据整个屏幕或屏幕的同一部分。
【讨论】:
啊,我没想到,谢谢!我会假设字体大小缩放遵循相同的规则? 随着不同设备(iPad、iPhone4、iPhone5)的宽度/高度比例变化,您需要注意精灵的大小。如果您将上面的示例不仅应用于位置,还应用于大小,您将失去精灵宽度和高度之间的比例,这可能不是很好。因此,在这种情况下,您可能需要做出决定,并将精灵的宽度和高度作为 SKScene 的宽度或高度的相对值。以上是关于iPhone和iPad的独立坐标系的主要内容,如果未能解决你的问题,请参考以下文章