我正在使用Adobe Animate进行项目,并且我有一系列影片剪辑,并附有事件侦听器。我试图找出一种方法来找出点击哪个动画片段并做出相应的响应。我的监听器功能如下所示:
function navigationControls(e){
console.log(e)
switch(e.currentTarget){
case lib.dayOneBtn:
console.log("add day 1");
break;
case lib.dayTwoBtn:
console.log("add day 2");
break;
case "lib.dayThreeBtn":
console.log("add day 3");
break;
}
}
//--> console log {type: "click", target: a, currentTarget: lib.dayOneBtn, eventPhase: 3, bubbles: true…}
当我在console.log中查看e.currentTarget时,我可以看到来自库的movieclip的链接,但是我不确定在switch语句中使用什么属性。 lib。(链接名称)不起作用。
我能够通过检查状态的movieclip而不是数组来实现这一点。这是更新的代码:
case navContainer.dayOneBtn:
console.log("add day 1");
break;
case navContainer.dayTwoBtn:
console.log("add day 2");
break;
case navContainer.dayThreeBtn:
console.log("add day 3");
break;
}
答案 0 :(得分:0)
如果这些是动画片段,您可以打开.name属性(链接名称)。只需在创建时为每个MC分配一个:
dayOneButton = new DayMC();
dayOneButton.name = "dayOne";
dayTwoButton = new DayMC();
dayTwoButton.name = "dayTwo";
function navigationControls(e:Event)
{
var clickedMC:MovieClip = e.currentTarget as MovieClip;
switch(clickedMC.name)
{
case "dayOne":
// do stuff
break;
}
}