【发布时间】:2013-05-08 06:17:16
【问题描述】:
如果这是一个常见问题,我们深表歉意。我已经搜索过了,也许我错过了关键词。
我想知道是否可以操纵屏幕视图的 x 和 y 坐标?目前,我所知道的离开屏幕项目进入视图的唯一方法是将它们全部添加到单个显示组中并将它们移动到视图中。这似乎在大地图中确实是资源密集型的。这可能吗?如果没有,这种事情有更好的做法吗?
【问题讨论】:
-
您是否尝试过使用场景模板?
如果这是一个常见问题,我们深表歉意。我已经搜索过了,也许我错过了关键词。
我想知道是否可以操纵屏幕视图的 x 和 y 坐标?目前,我所知道的离开屏幕项目进入视图的唯一方法是将它们全部添加到单个显示组中并将它们移动到视图中。这似乎在大地图中确实是资源密集型的。这可能吗?如果没有,这种事情有更好的做法吗?
【问题讨论】:
您可以将显示对象存储在表格中并使用函数来更改 .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() 吗?这让您拥有比屏幕更大的区域来为您滚动。
【讨论】: