PDA

Просмотр полной версии : Изменить значение переменной загружаемой флешке


fifa_sibir
20.02.2012, 16:00
Загружаю флешку, в коде которой есть переменная типа boolean, как мне изменить эту переменную после окончания загрузки?

так не выходит:
((loader.content as MovieClip).booleanIndikator as Boolean) = true;

MikroAcse
20.02.2012, 16:30
Не дай бог.
Это будет самая большая дыра!

КорДум
20.02.2012, 16:41
В данном случае просто
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 пишу этот код. выдает ошибку :Нельзя выполнить присваивание неизвестной переменной

КорДум
20.02.2012, 16:52
Не дай бог.
Это будет самая большая дыра!
Неправда. Все можно.

Добавлено через 45 секунд
Нельзя выполнить присваивание неизвестной переменной
Тогда дайте больше кода подгружаемой флешки и на всякий случай подгрузки.

MikroAcse
20.02.2012, 16:55
Неправда. Все можно.
Как так?
Это же можно будет загрузить флешку и с помощью for(...) узнать все переменные?

КорДум
20.02.2012, 16:57
Как так?
Ну попробуйте и узнаете.
Через for/forEach можно узнать только все динамические переменные.

carrotoff
20.02.2012, 16:58
Как так?
Это же можно будет загрузить флешку и с помощью for(...) узнать все переменные?


И что? Можно декомпилировать и узнать весь алгоритм

in4core
20.02.2012, 16:58
Это же можно будет загрузить флешку и с помощью for(...) узнать все переменные?
Ну можно узнать все которые публичные

MikroAcse
20.02.2012, 16:58
Ужасно...

КорДум
20.02.2012, 17:01
Ну можно узнать все которые публичные
Динамические.

in4core
20.02.2012, 17:03
ну да статика не прокатит

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)); выдает существующее значение

КорДум
20.02.2012, 17:09
Ты не понял. Тут как с 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.

in4core
20.02.2012, 17:12
КорДум я так понял он вообще в кадрах пишет

КорДум
20.02.2012, 17:14
Это я тоже догадался. Разве MainClass, который формируется в конечном итоге из кадров добавляет public к своим полям?

2Топикстартер: переделали бы на классы, не было бы мороки.

in4core
20.02.2012, 17:19
public к своим полям?
Скорее internal , но не уверен

КорДум
20.02.2012, 17:21
Так если internal, то из-вне они не видны, что логично.
Однако
если последнюю строку заменить на:
trace(((loader.content as MovieClip).booleanIndikator as Boolean));
выдает существующее значение
смущает.

fifa_sibir
20.02.2012, 17:22
2Топикстартер: переделали бы на классы, не было бы мороки.

Спасибо! попробую перенести все в класс, может что получится..

КорДум
20.02.2012, 17:24
И public не забудьте.