从场景视图中缩小相机的正确方法是什么?

时间:2014-04-13 12:02:40

标签: corona

我有一个场景,我的游戏玩法发生了。我正在寻找一种慢慢“缩小”的方法,以便随着时间的推移越来越多的空间变得可见。但我希望HUD和其他一些元素保持相同的大小。这就像自上而下游戏中的鼠标滚轮功能。

我尝试将所有内容粘贴到显示组并转换xScale,yScale。它当然在视觉上有效,但游戏功能搞砸了。例如,我有一个产生某些物体的产卵器,它的图形会被缩放,但产卵器仍会从其原始位置产生物体,而不是新的缩放位置。

我是否需要跟踪我在游戏过程中使用的每个X,Y位置并过渡它们? (这可能是可能的,但对我来说太难了,因为我使用大量的触摸事件进行瞄准和路径创建等)或者是否有更简单的方法来实现这一目标?请说是:P

我很期待你的回答,谢谢! :)

1 个答案:

答案 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()事件的位置。

相关问题