0

抱歉,如果这是一个常见问题。我已经搜索过了,也许我错过了关键词。

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

4

2 回答 2

0

您是否考虑过 widget.newScrollView()?这让您拥有比屏幕更大的区域可以为您滚动。

于 2013-05-27T01:32:55.057 回答
0

您可以将显示对象存储在表格中并使用函数来更改 .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
于 2013-05-16T07:47:11.813 回答