Corona SDK:修改显示内容视图。

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

我想知道是否有可能操作屏幕视图的x和y坐标?目前,我唯一知道的让不在屏幕上的物品进入视图的方法是将它们添加到一个单独的显示组,并将它们移动到视图中。在大型地图中,这似乎会非常耗费资源。这是可能的吗?如果不是,这样的事情有更好的做法吗?

点赞
用户1502079
用户1502079

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

local myGroup = { }

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

    -- 创建其他项目 
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-16 07:47:11
用户1870706
用户1870706

你考虑过使用widget.newScrollView()吗?它允许你拥有一个比屏幕更大的区域,可以为你滚动。

2013-05-27 01:32:55