【问题标题】:Flash AS3 | Creation of a Camera / Moving Viewport / Zoom闪存 AS3 |创建相机/移动视口/缩放
【发布时间】:2016-07-06 11:51:06
【问题描述】:

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

Flash AS3 | Pan / Zoom with mouse input

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

我在这里要问的是,是否有人可以帮助我找到一种方法,使“视口”(屏幕上显示的内容)与周围的对象相关联或跟随对象。例如,就像指向狙击步枪的瞄准镜一样,您通过本质上是 HUD 的东西看到图像,并且随着 HUD 的移动,您会看到图像的不同部分。

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

再次感谢各位!

【问题讨论】:

  • 如果其他 answer 给了您一个可行的解决方案,您应该将其标记为正确。
  • PS:是的,您必须放大(查看scaleXscaleY)。对于遮罩,创建一个包含径向渐变(白色中心向外到黑色)的 MovieClip,然后使用 blendMode,如“正片叠底”或可能的“叠加”。将渐变 MC 添加到 stage after image 以将其放在上面。它应该通过范围显示图像。试试看,看看你对结果的看法……

标签: actionscript-3 flash


【解决方案1】:

我认为实现您正在寻找的效果的一种方法是获取您想要在屏幕上显示的所有内容并将其放入 MovieClip 中。然后,当您为该影片剪辑命名后,您可以调整它的位置,使其聚焦在一个对象周围,如下所示:

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

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

在那里,您可以通过调整holder MovieClip 的scaleXscaleY 进行缩放,1 是两者的默认值,因此 200% 缩放将是 2,依此类推。但是,影片剪辑将从锚点缩放,而不是从屏幕中心缩放,因此您可能需要随时移动影片剪辑以进行缩放。

【讨论】:

    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多