2014-02-13 46 views
0

当我的功能buildingBuilt被调用时,它被分派事件,像这样:每次调用时都要添加字符串值。

dispatchEvent(new Event("Built")); 

我有,在我Toolbar.as触发,当他听到“建”计时器的听众。

每10第二个我的字符串 “钱” 正在下降500

Toolbar.as

drop500=new Timer(10000); 
drop500.addEventListener(TimerEvent.TIMER, dropMoney); 
addEventListener("Built", timerMoney, false, 0, true); 

private function timerMoney(event):void{ 
      drop500.start(); 

} 

private function dropMoney(event):void { 
    money.text = String(Number(money.text) - 500); 
} 

问:本次活动 “内置” 是由其他功能出动。是否有可能每次加-500听到“Built”?

所以,如果 “内置”被分派一次:“钱”正在下降500每10秒, 如果“内置”被分派了两声:“钱”正在下降1000每10秒 等。

+0

什么是运行此代码后,你的问题? –

+0

没有错误,但问题是,如果计时器已经运行,第二次分派事件“Built”,请勿再次添加dropMoney。 (每10秒仍有-500,而不是每10秒-1000)。 – user2421975

+0

您每次调度'built'事件时都会启动计时器,并且永不停止计时器。为什么? –

回答

0

尝试更新,像这样的代码,

var moneyDropper:int = 0; 

    private function timerMoney(event):void { 

    if(moneyDropper == 0) 
    {   
     drop500.start();    
    } 
    else 
    { 
     moneyDropper += 500; 
    } 
    } 

    private function dropMoney(event):void { 
     money.text = String(Number(money.text) - moneyDropper); 
    } 
+0

编辑之前的答案工作得很好(只需在drop500之后添加moneyDropper + = 500;开始();谢谢! – user2421975

相关问题