Corona SDK:更改显示内容视图

问题描述:

如果这是一个常见问题,请道歉。我已经完成了搜索,也许我错过了关键词。Corona SDK:更改显示内容视图

我想知道是否可以操纵屏幕视图的x和y坐标?目前,我知道的让屏幕项目进入视图的唯一方法是将它们全部添加到单个显示组中,并将它们移动到视图中。这似乎是一个大型地图中的资源密集型应用。这可能吗?如果没有,这种事情有更好的做法吗?

+0

您是否尝试过使用场景模板? – DevfaR 2013-05-14 09:08:51

您可以将显示对象存储在一个表格中,并使用一个函数来更改.x & .y坐标。

local myGroup = { } 

function drawGroup() 
    local img = display.newImageRect("baseImage.png", 100, 100) 
    img.x = 76 
    img.y = 200 
    myMap[#myMap+1] = img 

    --create other items 
end 


function translateTo(group, x, y) 
    local numItems = #myGroup 
    for i=1, i < numItems, 1 do 
     myGroup[i].x = myGroup[i].x + x 
     myGroup[i].y = myGroup[i].y + y 
    end 
end 

function translateTo(group, x, y, t) 
    local numItems = #myGroup 
    local t = t or 0 
    for i=1, i < numItems, 1 do 
     transition.to(myGroup[i], { time=t, x=x, y=y, delta=true}) 
    end 
end 

你有没有考虑过widget.newScrollView()?这可以让你有一个比可以为你滚动的屏幕更大的区域。