【发布时间】:2014-09-05 19:19:59
【问题描述】:
我对 AS3 很陌生,现在我正在尝试制作一个按钮(使用形状工具在 fla 中制作)在按下时像汽车指示灯一样闪烁 3 次。我已将其转换为符号,目前正在尝试对类本身进行编程(我不确定我是要编写符号类还是直接连接到 fla 的主类)。现在我有 3 类 2 个三角形(Rblinker 和 Lblinker)和“MAIN”。
最大的问题是我似乎无法让按钮在鼠标点击时闪烁,任何人都可以帮忙吗?谢谢你
现在我的“Rblinker”代码如下所示。
package {
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.MouseEvent
public class Rblinker extends MovieClip {
public var timer:Timer = new Timer(1000,3);
public var blink:Boolean = true;
timer.start();
public function Rblinker() {
this.addEventListener(MouseEvent.click, clickaction);
function clickaction(e:MouseEvent):void{
timer.addEventListener(TimerEvent.TIMER, timerAction);
this.alpha = 1;
}
function timerAction(e:TimerEvent):void
{
if (!blink){
this.alpha = 1;
}
else{
this.alpha = 0;
}
blink = !blink;
}
}
}
两个闪光灯将具有相同的代码。也想只使用 AC3 语言
【问题讨论】:
-
在点击处理程序中初始化计时器
-
好的,所以我删除了公共变量并将它们放在
public function Rblinker()中。this.addEventListener(MouseEvent.click, clickaction);收到错误1119,我不明白这个错误。 -
在事件处理程序中,作用域是不同的,所以
this意味着别的东西。最简单的解决方案是不要将处理程序嵌套在构造函数中。
标签: actionscript-3 flash button