2014-04-13 72 views
1

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

我试图将所有内容都粘贴到显示组中并过渡xScale,yScale。它当然可以在视觉上工作,但是游戏功能会消失。例如,我有一个产卵器,产生一些对象,其图形得到缩放,但产卵者仍然从其原始位置产生对象,而不是新的缩放位置。

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

我期待您的答案,在此先感谢! :)

+0

我来自GameSalad,他们有** camera.width **和** camera.height **,你只是改变它们。例如从320x480到640x960,使一切变小。 如果电晕有这样的事情,我可以使用它,并相应地改变HUD元素的大小来补偿。 有人吗? – cbt

回答

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

相关问题