2013-05-14 102 views
0

如果這是一個常見問題,請道歉。我已經完成了搜索,也許我錯過了關鍵詞。Corona SDK:更改顯示內容視圖

我想知道是否可以操縱屏幕視圖的x和y座標?目前,我知道的讓屏幕項目進入視圖的唯一方法是將它們全部添加到單個顯示組中,並將它們移動到視圖中。這似乎是一個大型地圖中的資源密集型應用。這可能嗎?如果沒有,這種事情有更好的做法嗎?

+0

您是否嘗試過使用場景模板? – DevfaR 2013-05-14 09:08:51

回答

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 
0

你有沒有考慮過widget.newScrollView()?這可以讓你有一個比可以爲你滾動的屏幕更大的區域。