PDA

Просмотр полной версии : Не выполнять функцию, если if = true


Bells1q1
13.02.2014, 16:54
Возможно, задам глупый вопрос, но только начал изучение AS3.
Столкнулся с проблемой банального не знания метода остановки функции.
removemoney_btn.addEventListener(MouseEvent.CLICK, ReMMon);
function ReMMon (e:MouseEvent):void
{
if(moneyArray[0]<3)
{
nomoney_txt.text = "Недостаточно денег";
nomoney_txt.visible = true;
var offnomaney:Timer = new Timer(1000);
offnomaney.addEventListener(TimerEvent.TIMER, nomoney_txtoff);
offnomaney.start();
function nomoney_txtoff(e:TimerEvent):void
{
nomoney_txt.visible = false;
offnomaney.stop();
}
}

var moneyResultMin:Number = (moneyArray[0]-remMoney);
moneyArray.unshift(moneyResultMin);
moneyArray.pop();
money_txt.text = String(moneyArray[0]);
}
Надо, что-бы после того как moneyArray[0]<3 - не отнималось moneyArray[0]-remMoney. Как нибудь эту переменную вообще скрыть с глаз, если условие не верное.

alexandrratush
13.02.2014, 17:12
Воспользуйтесь блоком if else.
Или оператором return в конце блока if

samana
13.02.2014, 17:14
По идее так, но может я что-то упустил.

var offnomaney:Timer;
removemoney_btn.addEventListener(MouseEvent.CLICK, ReMMon);
function ReMMon (e:MouseEvent):void
{
if(moneyArray[0]<3)
{
nomoney_txt.text = "Недостаточно денег";
nomoney_txt.visible = true;
offnomaney = new Timer(1000);
offnomaney.addEventListener(TimerEvent.TIMER, nomoney_txtoff);
offnomaney.start();

}else
{
var moneyResultMin:Number = (moneyArray[0]-remMoney);
moneyArray.unshift(moneyResultMin);
moneyArray.pop();
}

money_txt.text = String(moneyArray[0]);
}

function nomoney_txtoff(e:TimerEvent):void
{
nomoney_txt.visible = false;
offnomaney.stop();
}

Bells1q1
13.02.2014, 17:17
alexandrratush, samana, спасибо огромное, не додумался)))