我试图弄清楚如何拍摄图像并使其在不同的部分可以互动。 图像是一堆制作圆圈的箭头,我想要发生的是当一个特定的箭头悬停在它上面时,它会放大箭头并悬停在两个相邻的箭头上。
我将插图画面中的图像导入单个画面并使每个箭头成为一个按钮,下方的图像是放大的版本,但似乎图像是以不同的方式位于不同的图层上? 当我将鼠标悬停在其中一个箭头上时,它在一个箭头下但在另一个箭头上。
如何让悬停在箭头上的东西始终位于影片中所有其他影像的顶部?
也许是一个代码,onHover将符号带到舞台前面?
答案 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);
}
}
}