我有一个场景,我的游戏玩法发生了。我正在寻找一种慢慢“缩小”的方法,以便随着时间的推移越来越多的空间变得可见。但我希望HUD和其他一些元素保持相同的大小。这就像自上而下游戏中的鼠标滚轮功能。
我尝试将所有内容粘贴到显示组并转换xScale,yScale。它当然在视觉上有效,但游戏功能搞砸了。例如,我有一个产生某些物体的产卵器,它的图形会被缩放,但产卵器仍会从其原始位置产生物体,而不是新的缩放位置。
我是否需要跟踪我在游戏过程中使用的每个X,Y位置并过渡它们? (这可能是可能的,但对我来说太难了,因为我使用大量的触摸事件进行瞄准和路径创建等)或者是否有更简单的方法来实现这一目标?请说是:P
我很期待你的回答,谢谢! :)
答案 0 :(得分:0)
问题是你正在缩放你的图像,而不是你的位置坐标。 您需要将“原始坐标”转换为“缩放坐标”
如果将地图大小缩放到一半,则应将移动量缩放一半。 您需要以缩放图像的相同数量“缩放”坐标。
例如,假设您的比例因子为0.5,您有一个图像:
local scaleFactor = 0.5
image.xScale = scaleFactor
image.yScale = scaleFactor
然后您需要按此因素缩放移动金额
thingThatIsMoved.x = thingThatIsMoved.x + (moveAmount * scaleFactor)
thingThatIsMoved.y = thingThatIsMoved.y + (moveAmount * scaleFactor)
我希望这有帮助,我假设你有一个moveAmount变量并更新enterFrame()事件的位置。