Просмотр полной версии : onLoad???
Почему не грузится переменная txt в a1?
Timeline:
слой action
1 кадр
a1.onLoad=function(){
this.txt = "188";
}
слой mov
лежит a1
2 кадр
слой action
stop();
слой mov
лежит a1
Дело в том, что событие onLoad доступно только для мувиклипов, созданных динамическим путем, то есть с помощью attachMovie() или duplicateMovieClip ();
И даже в случае с loadMovie () рекомендуется использовать onClipEvent(load);
Dimonius
12.04.2004, 21:13
2 Dindin
Бред написал.
2 as_68
А почему ты уверен, что
this .txt = "188";
это ссылка на нужный объект.
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
Вопрос внимательно прочитал?
:) Внимательно. Она не грузиться потому, что событие onLoad для мувиклипа не созданного динамическим путем НЕ НАСТУПАЕТ НИКОГДА.
(Вывод, о том, что a1 - объект не динамический я делаю из того, что он ЛЕЖИТ НА СЛОЕ, то есть помещен на Stage до компиляции MovieClip'a)
:)
;)
Dimonius
12.04.2004, 21:51
Надо меньше пить :D
Это я лоханулся. Сорри.
Но this не факт что обращается туда куда надо.
Оригинал написал(а) as_68
Почему не грузится переменная txt в a1?
Timeline:
слой action
1 кадр
a1.onLoad=function(){
this.txt = "188";
}
слой mov
Вместо этой хрени, напиши
a1.txt = "188";
Про 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);
}
РАБОТАЕТ!!!
Читай ответы внимательнее. Событие onLoad в твоем случае не наступает. А кроме того - какая тебе разница где передавать двадцать значений - в функции или вне ее. (разве что когда ты это делаешь в функции - кода получается больше)
Если у тебя значения статические, то тебе в любом случае придется присваивать их вручную. Двадцать раз. Вот если динамические - совсем другое дело.
Если я тебя правильно понял (ох, тяжкий это труд домысливать то, что неточно выразили), то дебе нужно задать двадцать переменных для объектов, которые называются a1,a2...a20. Причем первая переменная имеет значение 188, вторая - 198 (188+10), третья - 208 (198+10) и т.д с шагом 10.
тогда делаешь так
numObjects = 20;
currentVar = 188;
step =10;
for (var i=0;i<numObjects;i++)
{
_root['a'+i].txt = currentVar;
currentVar +=step;
}
Если я тебя правильно понял (ох, тяжкий это труд домысливать то, что неточно выразили), то дебе нужно задать двадцать переменных для объектов, которые называются a1,a2...a20. Причем первая переменная имеет значение 188, вторая - 198 (188+10), третья - 208 (198+10) и т.д с шагом 10.
Увы шага никакого нет. :(
Читай ответы внимательнее. Событие onLoad в твоем случае не наступает.
Я уже понял, просто хотел объяснить чего хочу получить.
Пришлось набивать ручками. :D
А хотелось побыстрее - скопировал, поменял только в одном месте имя мувика, и перебил значения переменных.
sergwizard
13.04.2004, 22:31
Внимательно. Она не грузиться потому, что событие onLoad для мувиклипа не созданного динамическим путем НЕ НАСТУПАЕТ НИКОГДА.
(Вывод, о том, что a1 - объект не динамический я делаю из того, что он ЛЕЖИТ НА СЛОЕ, то есть помещен на Stage до компиляции MovieClip'a)
О, как категорически: "НЕ НАСТУПАЕТ НИКОГДА "!
Ну, это если плохо попросить… А, вот если попросить хорошо, умеючи, - то наступает. Эту фичу надо бы знать. :)
sergwizard
13.04.2004, 22:58
2as_68
Посмотри этот пример. Надеюсь, он поможет. В том случае, если значения текстовых полей рэндомны, то их сначала надо загнать в массивы, а потом выдергивать их оттуда.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.