鼠标事件点击问题
Posted
技术标签:
【中文标题】鼠标事件点击问题【英文标题】:Mouse Event Click Problems 【发布时间】:2014-12-13 05:14:52 【问题描述】:当您单击 ageImg 按钮(swf 中的粉红色图像)时,它会调用下一个函数,该函数应该隐藏所有其他图像并将年龄歧视词移到舞台上,但由于某种原因,它在一秒钟后消失了空白,ageFlash 函数再次启动,导致整个动画从头开始。我不知道它为什么会循环。
[LINK TO SWF FILE]
import com.greensock.TweenLite;
import com.greensock.TimelineLite;
import com.greensock.plugins.*;
import flash.events.MouseEvent;
var ageismTimeline:TimelineLite = new TimelineLite();
function init():void
ageFlash();
ageImg.ageism.visible=false;
racImg.racism.visible=false;
hatImg.hate.visible=false;
sexImg.sexism.visible=false;
function ageFlash():void
ageImg.visible=false;
ageImg.buttonMode = true;
ageImg.addEventListener(MouseEvent.CLICK, stopPicLoop);
TweenLite.delayedCall(1,racFlash);
function racFlash():void
racImg.visible=false;
TweenLite.delayedCall(1,hatFlash);
function hatFlash():void
hatImg.visible=false;
TweenLite.delayedCall(1,sexFlash);
function sexFlash():void
TweenLite.delayedCall(1,ageFlash);
ageImg.visible=true;
racImg.visible=true;
hatImg.visible=true;
function stopPicLoop(event:MouseEvent):void
switch (event.type)
case "click":
trace(event.type);
ageAni();
break;
case 2:
break;
case 3:
break;
function ageAni():void
racImg.visible=false;
hatImg.visible=false;
sexImg.visible=false;
ageImg.visible=true;
ageImg.ageism.visible=true;
ageismTimeline.from(ageImg.ageism,.5,y:stage.stageHeight);
trace('ageism');
init();
【问题讨论】:
【参考方案1】:您需要终止对您在ageFlash
方法中设置的racFlash
方法的延迟调用,否则您的代码将继续正常运行。您可以使用TweenLite.killDelayedCallsTo
方法来执行此操作(请参阅documentation):
function ageAni():void
racImg.visible=false;
hatImg.visible=false;
sexImg.visible=false;
ageImg.visible=true;
ageImg.ageism.visible=true;
TweenLite.killDelayedCallsTo(racFlash); // kill the delayed call
ageismTimeline.from(ageImg.ageism,.5,y:stage.stageHeight);
trace('ageism');
【讨论】:
以上是关于鼠标事件点击问题的主要内容,如果未能解决你的问题,请参考以下文章