Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   обращение к переменной мувиклипа из функции... (http://www.flasher.ru/forum/showthread.php?t=108495)

zeus_sk 23.02.2008 11:59

с клип лоадером получилось.....
но вот этот код не понятен... просто хочется вникнуть в эту магию)

Код:

var mc1:MovieClip = _root.createEmptyMovieClip ('mc1', _root.getNextHighestDepth ());
mc1.createEmptyMovieClip ("test", mc1.getNextHighestDepth ());
mc1["test"].slovo = 'Hello world!';
mc1["test"].loadMovie("img.jpg"); // вот эта строка вносит непонятки
function myDraw (mc:MovieClip) {
        mc._x += 10;
        trace (mc["test"].slovo);
}
myDraw (mc1); // Hello world!
setTimeout (trace, 1000, mc1["test"].slovo); // Hello world!
setTimeout (myDraw, 2000, mc1); // undefined
setTimeout (trace, 3000, mc1["test"].slovo); // Hello world!


iNils 23.02.2008 13:15

Пример.
Код:

a = 555;
function test (val) {
        trace (val);
}
function test2 () {
        trace (a);
}
test (a); // 555
setTimeout (trace, 1000, a); // 555
setTimeout (test, 2000, a); // 555
setTimeout (test2, 3000); // 444
a = 444;
test (a); // 444

При вызове через setTimeout указывается значение аргемнта, а не ссылка на него. Поэтому синий код дает 555, а если использовать желтый и ссылку, то 444


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

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