我正在研究一个项目,在项目中有一个创建计时器的功能,可以创建另一个计时器。
此函数创建并启动计时器:
function dfcty_txt_fade(){
var dfcty_alpha_timer:Timer = new Timer(500,1);
dfcty_alpha_timer.addEventListener(TimerEvent.TIMER,dfcty_alpha_wait);
function dfcty_alpha_wait(event:TimerEvent){
var dfcty_alpha_timer_alt:Timer = new Timer(50,10);
dfcty_alpha_timer_alt.addEventListener(TimerEvent.TIMER,dfcty_alpha_wait_alt);
function dfcty_alpha_wait_alt(event:TimerEvent){
dfcty_txt.alpha -= .1;
}
dfcty_alpha_timer_alt.start();
}
dfcty_alpha_timer.start();
}
此代码调用该函数:
function swag_listener(){
this[difficulty_str].addEventListener(MouseEvent.ROLL_OUT,dfcty_fade);
function dfcty_fade(event:MouseEvent){
dfcty_txt_fade();
}
}
问题是,有时我想停止并使用不同的功能重置计时器,但我不能。我收到1120错误,提到未定义属性的访问权限。我认为我无法停止/重置定时器,因为它们是在该函数中创建的。我吮吸AS3。我该怎么办?
答案 0 :(得分:0)
而不是
function dfcty_txt_fade(){
var dfcty_alpha_timer:Timer = new Timer(500,1);
...
试
var dfcty_alpha_timer:Timer
function dfcty_txt_fade(){
dfcty_alpha_timer = new Timer(500,1);
...
这声明你的计时器实例在之外的函数范围,它将其隐藏在其他函数之外。