【发布时间】:2015-01-25 05:09:18
【问题描述】:
我已经设置了我的 config.lua,使我的内容区域位于屏幕顶部,并设置了内容区域的尺寸,使其刚好填满 iPhone4 屏幕,但在底部留下一个空隙iPhone5的屏幕。
application =
{
content =
{
width = 640,
height = 960,
scale = "letterbox",
xAlign = "center",
yAlign = "top",
}
}
这在纵向模式下很好,但是当手机旋转到横向时,内容现在显示为左对齐,而不是居中对齐 - 好像 Corona 并没有改变它对“xAlign”和“yAlign”含义的想法当屏幕旋转时。
有什么方法可以在屏幕旋转时以编程方式更改 xAlign 和 yAlign 值?或者更好的是,有没有一种配置可以让 Corona 更合理地处理屏幕旋转和对齐?
我知道我可以通过将我正在绘制的组向右移动一点来获得我想要的相同效果,但我想找到一个不是黑客的答案。
请看下面我正在谈论的图片:
这是 main.lua:
local myGroup
local function drawScreen()
myGroup = display.newGroup( )
local top = 0
local left = 0
local bottom = display.contentHeight
local right = display.contentWidth
local r2 = display.newRect( left, top, right, bottom )
r2:setFillColor(0.4, 0.4, 0.4)
r2.anchorX = 0
r2.anchorY = 0
myGroup:insert(r2)
end
local function clearScreen()
if (myGroup ~= null) then
myGroup:removeSelf()
end
myGroup = nil
end
local function onOrientationChange( event )
clearScreen()
drawScreen()
end
-- and we're running
Runtime:addEventListener( "orientation", onOrientationChange )
-- hide status bar
display.setStatusBar( display.HiddenStatusBar )
drawScreen()
【问题讨论】:
-
你能发布创建那个灰色框的代码吗?我很好奇这是否与 xAlign 或框锚点有关。
-
当然——这很基本。见上文。