![]() |
странное поведение loadVariables
Создаем клип, добавляем динамический текст и связываем его с переменной rr.
В первом кадре вводим: rr=1; this.loadVariables("rr.txt"); trace(rr); Никак не могу понять, что за ерунда такая: trace выдаёт 1 а динам. поле показывает 1 и сразу 2 (в файле прописано rr=2) |
просто процесс загрузки переменных из файла занимает какое-то время, на тот момент, когда ты трэйсишь rr, загрузка ещё не завершилась
|
а как же в этом случае поступать, т.е. продолжить выполнение кода с гарантией что значение изменилось?
|
Пробовал так: - ролик "висит"
f=false; rr=1; this.loadVariables("rr.txt"); while (f==false) {}; trace(rr); onData = function(){ f=true; } |
А вообще, конечно, интересный принцип работы ...
Если я вызвал loadVariables - то, наверное, я хочу сейчас прочитать значения переменных, а не когда получится. А выходит, что значение переменной поменяется в непредсказуемое время, когда вовсе уже и не надо (код выполняется дальше). Смысл?!... |
Я с этой проблемой столкнулся давно и мне предлжили такой вариант,
короче попробуй так: loadVariables("rr.txt", ""); this.onEnterFrame=function() { if(rr) { //пока rr не станет чем-то, тоесть загрузится trace(rr) delete this.onEnterFrame; }} stop(); Я так уже много сделал и все работает. :cool: А почему у тебя название файла и переменной одинаковые, не запутаешься? ;) |
Смысл в том:
* Флэш timeline based, то есть привязка исполняемого сейчас кода к кадру, то есть кадр не кончиться и не перейдет на другой пока не очиститься стек функций * Ты предлогаешь что на время пока твой файл будет грузиться, все должно не двигаться и ждать окончания загрузки? Смысл? |
+ вообще хелп рулит, поиск тоже рулит, там это описанно и переписанно
|
Это все хорошо - переход на следующие кадры, стеки и т.д.
Но с другой-то стороны зачем мне нужны эти следующие кадры, когда переменная "не с тем значением". Хорошо, вот я в справке то и посмотрел: -"Обработчик события onData наступает при получении данных, вызванных методами loadVariables или loadMovie ". А почему же не работает вышеприведенный код с onData. Или обработчик не может выполниться пока идет код в кадре? Если так, то значит loadVariables не ждет загрузки, а обработчик ждет, |
Цитата:
Не, не запутаюсь - тестовый кусочек кода. |
| Часовой пояс GMT +4, время: 00:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.