Flash:制作可互动的图像

时间:2011-02-17 21:36:57

标签: flash actionscript-3

我试图弄清楚如何拍摄图像并使其在不同的部分可以互动。 图像是一堆制作圆圈的箭头,我想要发生的是当一个特定的箭头悬停在它上面时,它会放大箭头并悬停在两个相邻的箭头上。

我将插图画面中的图像导入单个画面并使每个箭头成为一个按钮,下方的图像是放大的版本,但似乎图像是以不同的方式位于不同的图层上? 当我将鼠标悬停在其中一个箭头上时,它在一个箭头下但在另一个箭头上。

如何让悬停在箭头上的东西始终位于影片中所有其他影像的顶部?

也许是一个代码,onHover将符号带到舞台前面?

2 个答案:

答案 0 :(得分:0)

我不是100%肯定你的Flash应用/电影的结构,但我认为你会做以下几点的事情:

import flash.display.Sprite;
import flash.events.MouseEvent;

arrow.addEventListener(MouseEvent.MOUSE_OVER, onArrowMouseOver);
arrow.addEventListener(MouseEvent.MOUSE_OUT, onArrowMouseOut);

function onArrowMouseOver(e:MouseEvent):void
{
    var arrow:Sprite = Sprite(e.target);
    setChildIndex(arrow, this.numChildren-1);
    arrow.scaleX = arrow.scaleY = 2;
}

function onArrowMouseOut(e:MouseEvent):void
{
    var arrow:Sprite = Sprite(e.target);
    arrow.scaleX = arrow.scaleY = 1;
}

答案 1 :(得分:0)

您可以附加一个事件侦听器函数来对MouseEvent.MOUSE_OVER做出反应,这会将按钮置于前面。

创建MyButton.as(下面的代码)来保存一个扩展SimpleButton的类并在那里添加监听器函数。然后将MyButton设置为属性面板中箭头符号的基类。

package {

    import flash.display.SimpleButton;
    import flash.events.MouseEvent;

    public class MyButton extends SimpleButton {
        private function onMouseOver ( ev:MouseEvent ) : void {
            parent.setChildIndex (this, parent.numChildren -1);
        }

        public function MyButton () {
            addEventListener (MouseEvent.MOUSE_OVER, onMouseOver);
        }
    }
}