Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Аналог watch в AS3 (http://www.flasher.ru/forum/showthread.php?t=102061)

Kadgar 08.10.2007 15:25

Аналог watch в AS3
 
У меня есть на бекграунде картинка. Мне нужно чтобы была возможность из JavaScript динамически менять мой бекграунд. Для этого я в AS2 делал так:

Код:

var backImage :String;

var watcher:Function = function(prop, oldVal, newVal)
{
        return reloadImg(newVal); //функция загрузки моей картинки
}
watch("backImage", watcher);

Подскажите плз, как мне это сделать в AS3? Может есть какие-то ивенты?

etc 08.10.2007 15:44

Kadgar, отредактируйте свой пост и оформите код тегами [code][/code].

flash33 08.10.2007 16:06

Используйте ExternalInterface:
Код:

function callMe(name:String):String
{
    return "busy signal";
}
ExternalInterface.addCallback("myFunction", callMe);

где myFunction-объявление функции в JS, callMe - реальная ф-ция в AS3
из JS вызываем:
Код:

<script language="JavaScript">
    // callResult gets the value "busy signal"
    var callResult = flashObject.myFunction("my name");
</script>


Kadgar 08.10.2007 20:04

Спасибо, flash33, но есть одна проблема...
Я использую SWFObject.
Вот мой код:

Код:

<script type="text/javascript">
  var so = new SWFObject("map.swf","myMap","720","320","9","#336699");
  so.addParam("MENU", 'false');
  so.write("flashcontent");

// подгружаю бекграунд
  myMap.setBackground('123.gif');
</script>

Так вот в момент когда я вызываю функцию setBackground, может возникнуть ситуация, когда ролик еще не успел подгрузиться, тогда бекграунд не меняется.
Раньше я решал эту проблему с помощью функции addVariable :
Код:

<script type="text/javascript">
  var so = new SWFObject("map.swf","myMap","720","320","9","#336699");
  so.addParam("MENU", 'false');
  so.addVariable('backImage', '123.gif');
  so.write("flashcontent");
</script>

А в AS3 когда я делаю addVariable, то ничего не происходит.

etc 08.10.2007 20:20

См. loaderInfo.parameters.

Kadgar 08.10.2007 20:30

__etc, спасибо, теперь все работает)


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

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