我对 Adobe Animate CC 及其使用的 Javascript 框架 EaselJS/CreateJS 有疑问。我可以添加没有问题的事件侦听器,但我无法删除它们。我已经从调试器中尝试过各种事情,包括进入他们的 JS removeEventListener 处理程序 - 虽然这两个变量看起来相同,但它们从来不是 == (或 ===),因此不会删除偶数侦听器。
这是我使用的代码,它的目的是在将鼠标悬停在元素上时淡入它:
this.fadeIn = function(target_mc)
{
target_mc.alpha = 0;
target_mc.visible = true;
target_mc.removeEventListener("tick",fadeIn_onEnterFrame);
target_mc.addEventListener("tick",fadeIn_onEnterFrame.bind(this));
function fadeIn_onEnterFrame(evt)
{
evt.currentTarget.alpha = evt.currentTarget.alpha + .2;
if (evt.currentTarget.alpha >= 1)
{
evt.currentTarget.removeEventListener("tick",fadeIn_onEnterFrame);
} // end if
}
} // End of the function
所以你知道,它被添加到 frame_0 中的画布中,并从添加到每种服装类型的“鼠标悬停”侦听器中调用(它用于拖放装扮游戏,FWIW)
function clothing_onRollOver()
{
this.hint_mc.desc_mc.desc1_txt.text = this.articleName;
this.fadeIn(this.hint_mc);
this.clothingOver = true;
};
clothing.addEventListener("mouseover",clothing_onRollOver.bind(this));