我在不应该调用 MOUSE_OUT 时遇到问题。我所做的很简单:当我在舞台上移动鼠标时会显示两个图像,当鼠标离开舞台时它们会被隐藏。
问题是,每当鼠标碰到舞台上任何影片剪辑的边框时,都会调用 MOUSE_OUT 函数,从而隐藏两个图像。这意味着每当我移动鼠标时
我的代码(仅显示相关部分):
public class Slider extends MovieClip {
var img1:Img1 = new Img1;
var img2:Img2 = new Img2;
var img1_hover:Img1_hover = new Img1_hover;
var img2_hover:Img2_hover = new Img2_hover;
public function Slider() {
img1.alpha = 0;
img2.alpha = 0;
stage.addEventListener(MouseEvent.MOUSE_MOVE, showArrows);
}
function showArrows(e:MouseEvent) {
img1.alpha = 1;
img2.alpha = 1;
stage.addEventListener(MouseEvent.MOUSE_OUT, hideArrows);
}
function hideArrows(e:MouseEvent) {
img1.alpha = 0;
img2.alpha = 0;
}
}
Flash 不会引发错误。我正在使用一个单独的 .as 文件(只有一个),并且 .fla 的操作面板内没有代码。哪里有stage.addEventListener,我也试过这个。,root。没有什么可以代替舞台。