如果这是一个常见问题,请道歉。我做过搜索,也许我错过了关键词。
我想知道是否有可能操纵屏幕视图的x和y坐标?目前我知道的唯一让屏幕项目进入视图的方法是将它们全部添加到一个显示组并将它们移动到视图中。这似乎在大型地图中确实是资源密集型的。这可能吗?如果不是这样的事情有更好的做法吗?
答案 0 :(得分: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
答案 1 :(得分:0)
你考虑过widget.newScrollView()吗?这使您可以拥有比可以为您滚动的屏幕更大的区域。