Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   onLoad??? (http://www.flasher.ru/forum/showthread.php?t=56937)

as_68 12.04.2004 18:02

onLoad???
 
Почему не грузится переменная txt в a1?

Timeline:
слой action
1 кадр
a1.onLoad=function(){
this.txt = "188";
}
слой mov
лежит a1

2 кадр
слой action
stop();
слой mov
лежит a1

Dindin 12.04.2004 20:33

Дело в том, что событие onLoad доступно только для мувиклипов, созданных динамическим путем, то есть с помощью attachMovie() или duplicateMovieClip ();
И даже в случае с loadMovie () рекомендуется использовать onClipEvent(load);

Dimonius 12.04.2004 21:13

2 Dindin
Бред написал.

2 as_68

А почему ты уверен, что

this .txt = "188";

это ссылка на нужный объект.

Dindin 12.04.2004 21:27

2Dimonius по поводу события onLoad:

This handler can be used only with movie clips for which you have a symbol in the library that is associated with a class . If you want an event handler to be invoked when a specific movie clip loads, for example when you use MovieClip.loadMovie() to load a SWF file dynamically, you must use onClipEvent(load) instead of this handler. The latter handler is invoked when any movie clip loads.

Не я придумал :)

Dimonius 12.04.2004 21:35

Вопрос внимательно прочитал?

Dindin 12.04.2004 21:46

:) Внимательно. Она не грузиться потому, что событие onLoad для мувиклипа не созданного динамическим путем НЕ НАСТУПАЕТ НИКОГДА.
(Вывод, о том, что a1 - объект не динамический я делаю из того, что он ЛЕЖИТ НА СЛОЕ, то есть помещен на Stage до компиляции MovieClip'a)

:)
;)

Dimonius 12.04.2004 21:51

Надо меньше пить :D
Это я лоханулся. Сорри.

Но this не факт что обращается туда куда надо.

Штрек 13.04.2004 01:34

Re: onLoad???
 
Цитата:

Оригинал написал(а) as_68
Почему не грузится переменная txt в a1?

Timeline:
слой action
1 кадр
a1.onLoad=function(){
this.txt = "188";
}
слой mov

Вместо этой хрени, напиши
a1.txt = "188";

as_68 13.04.2004 11:01

Про a1.txt="188" я в курсе.
Просто ситуация следующаяя:
В _rootе лежат 10 мувиков (a1....a10), которым присваивается по 20 значений (txt1...txt20). Так вот чтобы не писать для каждого a1.txt1=....a1.txt20, хотелось написать
a1.onLoad=function(){
this.txt1 = "188";
...
this.txt20 = "388";
}
и менять имя мувика и значения txt для каждого .
Как этот процесс упростить если onLoad не работает? :confused:

для Dimonius
Цитата:

А почему ты уверен, что this .txt = "188";это ссылка на нужный объект.
a1.txt = "188";
a1.onRollOver = function() {
txt=this.txt; trace(txt);
}

РАБОТАЕТ!!!

Dindin 13.04.2004 13:30

Читай ответы внимательнее. Событие onLoad в твоем случае не наступает. А кроме того - какая тебе разница где передавать двадцать значений - в функции или вне ее. (разве что когда ты это делаешь в функции - кода получается больше)
Если у тебя значения статические, то тебе в любом случае придется присваивать их вручную. Двадцать раз. Вот если динамические - совсем другое дело.


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

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