闪光 AS3 |创建相机/移动视口/缩放

Flash AS3 | Creation of a Camera / Moving Viewport / Zoom

我想扩展我之前在这里提出的一个问题:

现在的基础是,在该解决方案有效的情况下,我希望进一步改进我的流程以获得更高质量的结果。

我在这里要问的是,是否有人可以帮我找到一种方法,使 'viewport'(屏幕上显示的内容)绑定到或跟随周围的物体。就像瞄准狙击步枪的瞄准镜一样,您通过本质上是 HUD 的图像看到图像,并且当 HUD 移动时您会看到图像的不同部分。

除此之外,我有什么办法可以实现缩放功能吗?我唯一的猜测是放大实际显示的图像本身,所以这方面的任何帮助都会非常棒!

再次感谢大家!

我认为实现您正在寻找的效果的一种方法是将您想要在屏幕上显示的所有内容放入 MovieClip 中。然后,当您为该 MovieClip 命名后,您可以调整它的位置,使其聚焦在一个对象周围,看起来像这样:

holder.x = screenWidth/2 - holder.object.x;
holder.y = screenHeight/2 - holder.object.y;

这一小部分数学运算获取对象相对于 holder MovieClip 的位置并对其进行调整,以便移动整个 MovieClip,将那个位置放在中心。

设置好后,您可以通过调整 holder MovieClip 的 scaleXscaleY 进行缩放,1 是两者的默认值,因此 200% 缩放会是 2 等等。但是,MovieClip 将从锚点开始缩放,而不是从屏幕中心开始缩放,因此您可能需要随时移动 MovieClip 才能缩放它。