![]() |
обращение к переменной мувиклипа из функции...
посмотрите код внизу...
программно создаю мувиклип mc1... внитри mc1 программно создаю клип test... внутри mc1["test"] присваиваю переменной slovo значение "Hello world!"... в test подгружаю картинку через loadMovie... функция myDraw просто должна значение mc1["test"].slovo через trace... при прямом вызове myDraw выводит значение, а при вызове myDraw из другой функции пишет undefined... в чем проблема? Код:
import flash.display.BitmapData; |
Вот эту строчку уберите и будет работать :D
Код:
mc1["test"].loadMovie("img.jpg"); |
Цитата:
мне нужно туда подгрузить картинку )) просто необходимо... ) |
Очень напоминает:
Цитата:
Код:
mc1["test"].slovo='Hello world!';Для начала используйте MovieClipLoader для загрузки картинки. Если у Вас большие вложения, используйте ссылку: Код:
var test:MovieClip = mc1.createEmptyMovieClip("test",mc1.getNextHighestDepth());И как то странно, что Вы пытаетесь строковую константу присвоить динамически созданному св-ву мувика. |
Создайте в mc1["test"] контейнер и грузите картинку туда.
|
Так он же test в mc1 создал, что бы в test грузить.
|
люди... помогите мне просто понять, почему при вызве функции myDraw из другой функции происходит так?
причем trace(mc["test"]) выводит _level0.map.test.. пробовал MovieClipLoader... не помогло |
Смысл общий такой.
Все содержимое мувиклипа: графика, свойства и методы определенный пользователем, сразу после инициализации загрузки удаляется. Но сама загрузка происходит асинхронно выполнению кода. И именно поэтому, хотя вы и вызвали loadMovie, он не сразу удалил свойство slovo, а через некоторое время, поэтому прямой вызов myDraw дал результат, а вызов при нажатии уже нет. Есть два варианта: 1. Использовать MovieClipLoader и назначать slovo после окончания загрузки в событии onLoadInit 2. Загружать не в mc1.test, а создать клип-контейнер mc1.img и грузить туда, а slovo хранить в том же mc1.test (хотя что мешает грузить в mc1.test, а slovo хранить в mc1?) |
iNils
Код:
myDraw(mc1); // Hello world! |
Весь код полностью приведите. А то вот такой вариант, везде дает Hello world!
Код:
var mc1:MovieClip = _root.createEmptyMovieClip ('mc1', _root.getNextHighestDepth ()); |
| Часовой пояс GMT +4, время: 15:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.