我正在使用电晕模拟器。我显示了display.contentWidth和display.contentHeight。宽度是320,高度是480.我还发了一个文字说“你好”,然后玩定位。
我注意到x值看起来非常准确,我会将文本的x值设置为0,并且它的中心将被覆盖一半并显示一半。 x值为320的结果相同,但在手机模拟器的另一侧。
当我将y值设置为0时,它位于Carrier和伪信号强度符号的正下方,完全显示出来。当我将y值设置为480高度最大值时,它将与手机底部有大约一英寸的间隙。 - 我的想法是它应该在两个方向垂直覆盖:-S
在电晕模拟器中我正在Iphone5中查看它,并注意到当我改为Iphone时它会显示出我所期望的。有了Iphone 5,droid和其他一些视图,它会给我这些结果。
* 我的问题是我的程序在所有设备上看起来都一样,或者电晕模拟器是否准确显示它的外观。如果它在各种设备上显示不同,为什么?
width = display.newText (display.contentWidth .. "px is Width", 200, 200, nil, 30)
height = display.newText (display.contentHeight .. "px is Height", 150,300, nil, 30)
text = display.newText ("Hello", 0, 480, nil, 30)
答案 0 :(得分:2)
iPhone 5的分辨率与iPhone 4(显然)不同,但Corona不是接收不同的display.content *值,而是使用display.screenOrigin来处理它。这是所使用的显示器与标准显示器(iPhone / iPhone 4)之间的差异。如果您打印这些值,例如:
print("Origin x = "..tostring(display.screenOriginX))
print("Origin y = "..tostring(display.screenOriginY))
然后你会看到其中一个,取决于你的模拟器的方向,将是“-44”。这是像素的差异。在你的例子中我假设的是纵向方向,你需要将Y置于顶部和底部,如下所示:
--For positioning at 'true 0'
obj.y = 0 + (display.screenOriginY)
--Or, for positioning at "true bottom"
obj.y = 0 - (display.screenOriginY)
希望这会有所帮助。有关display.screenOrigin的更多信息,请参阅Corona documentation for X和Corona documentation for Y
Cush
答案 1 :(得分:2)
每个对象都有一个矩形边界,如下图1所示。这里有一个文本对象,边界用黑色表示。
顶部的red dot
是对象的默认锚点。
如果您没有将文本的x和y位置指定为(obj.x = ...& obj.y = ...),那么电晕将根据显示对象创建行中的点定位对象(即。 ,display.newText(""......)
)。例如,如果您有以下代码:
local text = display.newText ("myText", 0, 0, nil, 30)
然后放置文本使得红点位于(0,0)。这就是你在状态栏下看到它的原因。
日冕中的常规对象放置如下:
带下划线的myText
表示文本对象根据对象创建行中的点的不同定位。即;
local text = display.newText("myText",x,y,nil,30)
_w ==> display.contentWidth
_h ==> display.contentHeight
保持编码..................:)