Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   загрузка swf по кнопке (http://www.flasher.ru/forum/showthread.php?t=161865)

Станислав 28.07.2011 15:39

загрузка swf по кнопке
 
Суть такая: есть главная Swf из которой вызываются другие и собственно эти другие swf- 3 штуки. в главной есть две кнопки: "вперед" и "назад". у кнопок такие коды:
Код AS3:

prev_btn.addEventListener(MouseEvent.CLICK, prev_swf);
function prev_swf (event:MouseEvent):void {
a= a-1       
}
next_btn.addEventListener(MouseEvent.CLICK, next_swf );
function next_swf (event:MouseEvent):void {
a = a+1;
}

переменная "а" определена для следущего: при а равной 1 - загрузка swf-ролика, при а 2 - второго и при 3 - третьего swf.
сделал так:
Код AS3:

if (a==1) {
var myLoader1:Loader=new Loader ();
var myURL1:URLRequest=new URLRequest ("osn/1.swf");
myLoader1.load(myURL1);
stage.addChild(myLoader1);
}

загружается первый swf только если вначале переменная "a" указана как в ифе. При нажатии на кнопок переменная изменяется, но ролик не грузится (например, если вначале определено var a = 0; и нажать на кнопку "вперед", то а принимает значение 1, но ролик не загружается).
подскажите, что делаю не так. спасибо

goodguy 28.07.2011 15:49

Ну а с чего он должен грузиться-то? Код загрузки ведь не вызывается. Переменная изменилась, но загрузчик об этом не знает.

Надо и загрузку вызываеть внутри функции-обработчика нажатия кнопки.

п.с. 2 функции тут не нужны. Хватит и одной


Код AS3:

prev_btn.addEventListener(MouseEvent.CLICK, loadSWF);
next_btn.addEventListener(MouseEvent.CLICK, loadSWF );
function loadSWF(event:MouseEvent):void {
      var request:URLRequest;
      if (event.target == next_btn) {
        a += 1;
        request  = new URLRequest("osn/1.swf");
      } else if (event.target == prev_btn) {
        a -= 1;
        request  = new URLRequest("osn/2.swf");
      }
      var myLoader1:Loader=new Loader ();
      var myURL1:URLRequest=new URLRequest (request);
      myLoader1.load(myURL1);
      stage.addChild(myLoader1);
 
}



Часовой пояс GMT +4, время: 04:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.