【问题标题】:AS3 - Zoom feature with a movie clipAS3 - 带有影片剪辑的缩放功能
【发布时间】:2011-10-17 11:06:33
【问题描述】:

任何人都可以告诉如何像这样缩放影片剪辑:http://www.backspace.com/mapapp/

该页面上的 Fist 地图,您可以通过在其周围拖动一个框来缩放特定区域。

是否有任何解释此功能的教程或链接。

提前谢谢你。

【问题讨论】:

    标签: flash actionscript-3


    【解决方案1】:

    假设我们有一个map,大小为100x100. 我们还有一个县叫A,大小为20x10,位置为50x10.

    为了计算需要缩放多少,我们采用 A 的较大轴 (20) 和地图的同一轴 (100)。 100 / 20 = 5. 地图需要放大5倍。

    mapMC.scaleX = mapMC.scaleY = 5;
    

    但是现在我们还需要将地图移动到正确的位置。 地图大小现在是 5 倍 (500x500)。我们现在计算 A 在新调整大小的地图上的位置。

    5 * 50 = 250
    5 * 10 = 50
    

    现在您将地图移动到位置 -250、-50。我们需要把它往负方向移动。

    mapMC.x = -250;
    mapMC.y = -50
    

    【讨论】:

    • 谢谢,但我需要与我提到的相同的教程。因为我不擅长AS3。
    • 恐怕没有关于确切的教程,但您应该从 AS3 的基础开始。这是一个很好的链接kirupa.com/developer/flash/index.htm
    【解决方案2】:

    只需重新缩放矢量图形并根据显示对象的 mouseX/mouseY 或鼠标事件的 localX/localY 重新定位它。这真的很简单。使用 Tween 引擎(如 Tweener)为过渡设置动画。

    【讨论】:

    • 好的。我不是很好的 AS3 编码器。您能给我示例或教程参考吗?
    【解决方案3】:

    可以通过MovieClip的scale属性实现缩放功能。

    可以使用MouseEvent.MOUSE_DOWNMouseEvent.MOUSE_UP 事件制作方框图。

    这是一个非常有用的拖放和绘图功能链接: http://www.flashandmath.com/basic/dragdroptour/dd_tour2.html

    您可以在移动鼠标的过程中绘制一个框,当您释放鼠标时,您可以重新缩放 MovieClip 以匹配框的大小,并使用 x 和 y 属性重新定位它的位置。

    【讨论】:

    • 谢谢,但我需要与我提到的相同的教程。因为我不擅长AS3。
    猜你喜欢
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多