Ios 如何在正确的位置显示精灵,而不考虑屏幕大小

Ios 如何在正确的位置显示精灵,而不考虑屏幕大小,ios,iphone,objective-c,sprite-kit,Ios,Iphone,Objective C,Sprite Kit,我正在使用“精灵套件”,我在某个点上显示了一个节点。它在“4英寸屏幕”上看起来很棒,但在“3.5英寸屏幕”上看起来很好,在iPad的iPhone模拟器上也很好。我这样设置位置: myNode.position = CGPointMake(self.size.width/2, self.size.height - self.size.height/10); 所以,我认为无论大小,它都应该正确显示,但事实并非如此。我确信我只是做错了什么,我认为(并希望)应该有一个简单的解决方案。如果你想把

我正在使用“精灵套件”,我在某个点上显示了一个节点。它在“4英寸屏幕”上看起来很棒,但在“3.5英寸屏幕”上看起来很好,在iPad的iPhone模拟器上也很好。我这样设置位置:

    myNode.position = CGPointMake(self.size.width/2, self.size.height - self.size.height/10);

所以,我认为无论大小,它都应该正确显示,但事实并非如此。我确信我只是做错了什么,我认为(并希望)应该有一个简单的解决方案。

如果你想把它显示在左上角

myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: self.size.height - myNode.size.height * 0.5)
myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: myNode.size.height * 0.5);
在中间偏左

myNode.position = CGPoint(x: myNode.size.width * 0.5, 
                          y: (self.size.height - myNode.size.height) * 0.5);
在左下角

myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: self.size.height - myNode.size.height * 0.5)
myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: myNode.size.height * 0.5);
从中到下

 myNode.position  = CGPoint(x: (self.size.width - myNode.size.width) * 0.5,
                            y: myNode.size.height * 0.5);
在右下角

 myNode.position  = CGPoint(x: (self.size.width - myNode.size.width) * 0.5,
                            y: myNode.size.height * 0.5);
在中右翼

myNode.position  = CGPoint(x: self.size.width - myNode.size.width * 0.5,
                           y: (self.size.height - myNode.size.height) * 0.5);
右上角

myNode.position  = CGPoint(x: self.size.width  - myNode.size.width * 0.5,
                           y: self.size.height - myNode.size.height * 0.5);
到中间屏幕

myNode.position = CGPoint(x: (self.size.width - myNode.size.width) * 0.5,
                          y: (self.size.height - myNode.size.height) * 0.5);

如果要将其显示在左上角

myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: self.size.height - myNode.size.height * 0.5)
myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: myNode.size.height * 0.5);
在中间偏左

myNode.position = CGPoint(x: myNode.size.width * 0.5, 
                          y: (self.size.height - myNode.size.height) * 0.5);
在左下角

myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: self.size.height - myNode.size.height * 0.5)
myNode.position = CGPoint(x: myNode.size.width * 0.5,
                          y: myNode.size.height * 0.5);
从中到下

 myNode.position  = CGPoint(x: (self.size.width - myNode.size.width) * 0.5,
                            y: myNode.size.height * 0.5);
在右下角

 myNode.position  = CGPoint(x: (self.size.width - myNode.size.width) * 0.5,
                            y: myNode.size.height * 0.5);
在中右翼

myNode.position  = CGPoint(x: self.size.width - myNode.size.width * 0.5,
                           y: (self.size.height - myNode.size.height) * 0.5);
右上角

myNode.position  = CGPoint(x: self.size.width  - myNode.size.width * 0.5,
                           y: self.size.height - myNode.size.height * 0.5);
到中间屏幕

myNode.position = CGPoint(x: (self.size.width - myNode.size.width) * 0.5,
                          y: (self.size.height - myNode.size.height) * 0.5);

我直接从iphone中输入,所以如果有人能很好地编辑和格式化它,这将使它更可读。这有助于在这些位置显示,但我需要它在一个不属于这些位置的位置。在4英寸的屏幕上,我需要它从屏幕顶部向下一英寸,在3.5英寸的屏幕上,也需要它的等效值。因此,请保留一些偏移值,使其与上面所需的偏移值相同。如果希望它是从顶部开始的10个点,那么从给定的点中选择顶部的点,然后减去插入值。它应该以同样的方式适用于男孩的尺寸。如果您想为不同的sze设置不同的插图,请为一种尺寸定义一个插图,为另一种尺寸定义一个插图,并根据屏幕尺寸使用适当的插图。是否有预设方法为不同尺寸设置不同的插图值?或者我只使用if语句?我会对它做一些更改。。。例如
self.size.width/2-myNode.size.width/2
为了提高效率,我会做
(self.size.width-myNode.size.width)*0.5
。等等…我直接从iphone上输入,所以如果有人能很好地编辑和格式化它,这会使它更可读。这有助于在这些位置显示,但我需要它在一个不属于这些位置的位置。在4英寸的屏幕上,我需要它从屏幕顶部向下一英寸,在3.5英寸的屏幕上,也需要它的等效值。因此,请保留一些偏移值,使其与上面所需的偏移值相同。如果希望它是从顶部开始的10个点,那么从给定的点中选择顶部的点,然后减去插入值。它应该以同样的方式适用于男孩的尺寸。如果您想为不同的sze设置不同的插图,请为一种尺寸定义一个插图,为另一种尺寸定义一个插图,并根据屏幕尺寸使用适当的插图。是否有预设方法为不同尺寸设置不同的插图值?或者我只使用if语句?我会对它做一些更改。。。例如
self.size.width/2-myNode.size.width/2
为了提高效率,我会做
(self.size.width-myNode.size.width)*0.5
。等