Рассмотрим ваши первые две строки:
var myFlag:int = 1; //You are setting the var to 1
if (myFlag==1) //Since you just set it to 1 on the preceding line, this will ALWAYS be true
{
Даже если вы установите myFlag внутри вашего оператора if, в следующий раз, когда этот блок кода запустится, вы просто установите его обратно до 1 с линией var myFlag:int=1
.
Что вам нужно сделать, это переместить свой myFlag
var и его начальное значение где-то в пределах вашего оператора if.
Поскольку вы не говорите, где работает код, выполняемый (основная временная шкала? Введите обработчик кадров? Mouse down handler?). Трудно особо помочь.
Если это основная временная шкала, тогда код будет запускаться один раз в любом случае, поэтому есть небольшой смысл иметь флаг.
Если это мышь или введите обработчик событий кадра, переместите var myFlag:int=1
на основную временную шкалу и вне этого обработчика события.
EDIT
Основы Вашего комментария, вам нужно просто удалить кнопку, как только это щелкнул. Смотрите код комментарии
s1.addEventListener(MouseEvent.MOUSE_UP,dars1,false,0,true); //best to use a few more parameters and make it a weak listener
function dars1(e:MouseEvent):void
{
//load you swf
var darsRequest:URLRequest = new URLRequest("dars1.swf");
var darsLoader:Loader = new Loader();
darsLoader.load(darsRequest);
addChild(darsLoader);
if(s1.parent) s1.parent.removeChild(s1); //if you want the button totally gone from the stage
//or if your gotoAndStop(25) does something along the lines of not showing the button, keep that:
s1.gotoAndStop(25);
s1.mouseEnabled = false;
s1.mouseChildren - false; //you might need this too
//or remove the listener so the button doesn't dispatch a mouse up anymore
s1.removeEventListener(MouseEvent.MOUSE_UP, dars1,false);
}
Когда флаг = 1 вы настроите слушатель событий ... Затем, даже если флаг равен 2, слушатель по-прежнему присутствует, и до сих пор пожары dars1 на MouseUp ... Разве вы так думаете? – JBA
Как писал JBA: ваш слушатель событий уже добавлен. Вы не проверяете IN прослушиватель событий условие - вы должны. – Fygo
Вы выяснили решение? повышайте полезные ответы и принимайте ответ, если это привело к вашему решению. Если вы решили другое, ответьте на вопрос самостоятельно и примите это. – BadFeelingAboutThis