我遇到了这个问题: 我希望每次我点击前。 picA,点击picB后,就像这样
trace("Clicked picB after A");
注意:点击picB而不点击第一张picA,或点击其他地方如picC,然后picB将无效
答案 0 :(得分:1)
stage.addEventListener(MouseEvent.CLICK,onStageClick)
private function onStageClick(e:MouseEvent):void
{
// to have only one PicB listener use removeEventListener before adding
picB.removeEventListener(MouseEvent.CLICK,onPicBClick)
if(e.target === picA){
picB.addEventListener(MouseEvent.CLICK,onPicBClick)
}
}
private function onPicBClick(e:MouseEvent):void
{
picB.removeEventListener(MouseEvent.CLICK, onPicBClick)
trace("Clicked picB after A");
}
答案 1 :(得分:0)
在同一个函数onClick中为所有想要的图片添加监听器。像这样
picA.addEventListener(MouseEvent.CLICK, onClick);
picB.addEventListener(MouseEvent.CLICK, onClick);
picC.addEventListener(MouseEvent.CLICK, onClick);
picD.addEventListener(MouseEvent.CLICK, onClick);
取一个布尔变量来定义最近是否点击了picA
var isAClicked:Boolean = false;
function onClick(e:MouseEvent):void
{
switch (e.currentTarget.name)
{
case 'picA' :
isAClicked = true;
break;
case 'picB' :
if (isAClicked)
{
trace("Clicked picB after A");
}
else
{
isAClicked = false;
}
break;
default :
isAClicked = false;
break;
}
}
如果单击picA,则将boolean值设置为true,如果单击picB,则检查最近是否单击了picA。如果是,则执行任何操作,否则将布尔值设置为false。如果单击任何其他图片,那么您只需将布尔值设置为false,就像我在默认情况下那样。
我认为这可以解决你的问题。