我已经设置了我的config.lua,以便我的内容区域位于屏幕的顶部,并设置了内容区域的尺寸,使其仅填充iPhone4屏幕,但留下了空白iPhone5屏幕的底部。
application =
{
content =
{
width = 640,
height = 960,
scale = "letterbox",
xAlign = "center",
yAlign = "top",
}
}
这在纵向模式下很好,但是当手机旋转到横向时,内容现在显示为左对齐,而不是中心对齐 - 好像Corona没有改变它的概念" xAlign&# 34;和" 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()
答案 0 :(得分:0)
好的,我找到了解决方案。有时使用Corona和信箱缩放非常有趣。
在build.settings
中,我确保将此设置为方向:
orientation = {
default = "portrait",
supported = { "portrait", "landscapeLeft", "landscapeRight"}
},
在主文件中,我更改为:r2.anchorX = 0.5
并切换为local left = display.actualContentWidth/2
这似乎已经成功了。我永远无法让xAlign
或yAlign
做任何事情。我改变了它们,但从未见过结果。
所以我会玩我发布的内容。信箱可能会变得非常奇怪。我不确切地知道为什么在风景中那个盒子一直向左推。两侧应该有相同的黑条。但由于某种原因,没有。如果这让你走上正确的道路,请告诉我。