【问题标题】:Position with Lua in Corona SDK confusion在 Corona SDK 混乱中使用 Lua 的位置
【发布时间】:2014-02-16 20:16:57
【问题描述】:

我正在使用电晕模拟器。我显示了 display.contentWidth 和 display.contentHeight 。宽度为 320,高度为 480。我还做了一个文字说“你好”,并玩了定位。

我注意到 x 值看起来非常准确,我会将文本的 x 值设置为 0,并且它的中心将被一半覆盖一半显露。 x 值为 320 的结果相同,但在手机模拟器的另一侧。

当我将 y 值设置为 0 时,它位于运营商和假信号强度符号的正下方,完全显示。当我将 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)

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    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 XCorona documentation for Y

    库什

    【讨论】:

      【解决方案2】:

      每个对象都有一个矩形边界,如下图 1 所示。这里有一个文本对象,其边界用黑色表示。

      顶部的red dot 是对象的默认锚点。 如果您没有将文本的 x 和 y 位置指定为 (obj.x=... & obj.y=...),则 corona 将根据显示对象创建行中的点定位对象(即, display.newText(""......))。例如,如果您有这样的代码:

      local text = display.newText ("myText", 0, 0, nil, 30)
      

      然后将放置文本,使红点位于 (0,0)。这就是您在状态栏下看到它的原因。

      电晕中的一般物体放置如下:

      下划线myText表示根据对象创建行中的点,文本对象的不同定位。 IE。;

      local text = display.newText("myText",x,y,nil,30)
      

      _w ==> display.contentWidth
      _h ==> display.contentHeight

      继续编码...... :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-04
        • 2023-03-30
        • 2012-05-08
        • 1970-01-01
        • 1970-01-01
        • 2013-05-04
        • 2014-01-28
        相关资源
        最近更新 更多