Просмотр полной версии : Изменить значение переменной загружаемой флешке
fifa_sibir
20.02.2012, 16:00
Загружаю флешку, в коде которой есть переменная типа boolean, как мне изменить эту переменную после окончания загрузки?
так не выходит:
((loader.content as MovieClip).booleanIndikator as Boolean) = true;
MikroAcse
20.02.2012, 16:30
Не дай бог.
Это будет самая большая дыра!
В данном случае просто
loader.content.booleanIndikator = true;
Это если ссылка на эту переменную имеется в главном классе подгружаемой флешки.
Добавлено через 1 минуту
так не выходит:
А что пишет? Окончание загрузки дожидаетесь?
fifa_sibir
20.02.2012, 16:45
Не дай бог.
Это будет самая большая дыра!
Хорошо, а тогда как сделать наоборот, чтобы загружаемая флешка читала значение главной?
MikroAcse
20.02.2012, 16:48
Хорошо, а тогда как сделать наоборот, чтобы загружаемая флешка читала значение главной?
Думаю:
this.parent.переменная = тралала
Добавлено через 30 секунд
Но я с таким не сталкивался.
fifa_sibir
20.02.2012, 16:52
А что пишет? Окончание загрузки дожидаетесь?
Да, после события complete пишу этот код. выдает ошибку :Нельзя выполнить присваивание неизвестной переменной
Не дай бог.
Это будет самая большая дыра!
Неправда. Все можно.
Добавлено через 45 секунд
Нельзя выполнить присваивание неизвестной переменной
Тогда дайте больше кода подгружаемой флешки и на всякий случай подгрузки.
MikroAcse
20.02.2012, 16:55
Неправда. Все можно.
Как так?
Это же можно будет загрузить флешку и с помощью for(...) узнать все переменные?
Как так?
Ну попробуйте и узнаете.
Через for/forEach можно узнать только все динамические переменные.
carrotoff
20.02.2012, 16:58
Как так?
Это же можно будет загрузить флешку и с помощью for(...) узнать все переменные?
И что? Можно декомпилировать и узнать весь алгоритм
Это же можно будет загрузить флешку и с помощью for(...) узнать все переменные?
Ну можно узнать все которые публичные
MikroAcse
20.02.2012, 16:58
Ужасно...
Ну можно узнать все которые публичные
Динамические.
ну да статика не прокатит
fifa_sibir
20.02.2012, 17:09
В загружаемой:
var booleanIndikator:Boolean = false;
В подгружаемой:
var arrayPages:Array = ['1.swf', '2.swf', '3.swf', '4.swf', '5.swf'];
var loader:Loader = new Loader();
var req:URLRequest = new URLRequest(arrayPages[0]);
loader.load(req);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
function loaderComplete(e:Event):void{
((loader.content as MovieClip).booleanIndikator as Boolean) = true;
если последнюю строку заменить на:
trace(((loader.content as MovieClip).booleanIndikator as Boolean)); выдает существующее значение
Ты не понял. Тут как с Object. Сам по себе Object является динамическим классом. for/forEach выдаст ключ-значение этих динамических свойств, что в него входят.
Так и в случае с обычным классом. Он должен быть динамическим и свойство тоже должно быть динамическим. Вот пример:
var myClass:NewClass = new NewClass();
myClass.qwerwrt = true;
for each (var prop:String in myClass) trace(prop); // только true
package {
public dynamic class NewClass {
public var asd:String = "sdf";
public function NewClass() {
}
}
}
Добавлено через 1 минуту
var booleanIndikator:Boolean = false;
Так она же internal получается. Сделайте ее public.
КорДум я так понял он вообще в кадрах пишет
Это я тоже догадался. Разве MainClass, который формируется в конечном итоге из кадров добавляет public к своим полям?
2Топикстартер: переделали бы на классы, не было бы мороки.
public к своим полям?
Скорее internal , но не уверен
Так если internal, то из-вне они не видны, что логично.
Однако
если последнюю строку заменить на:
trace(((loader.content as MovieClip).booleanIndikator as Boolean));
выдает существующее значение
смущает.
fifa_sibir
20.02.2012, 17:22
2Топикстартер: переделали бы на классы, не было бы мороки.
Спасибо! попробую перенести все в класс, может что получится..
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.