Просмотр полной версии : static MovieClip
Есть необходимость класс расширяющий MovieClip, (его визуальная часть лежит в библиотеке) сделать статичным, чтобы через имя класса менять его visible. Есть ли такая возможность? ведь visible это свойство экземпляра...
Как такие вещи обходят?
Такие вещи просто не делают. Проблему не понял.
а почему нельзя создать экземпляр?
__etc: kostie: чтобы не передавать на него ссылку.
3 раза прочитал, сути не уловил.
Создавай экземпляр, делай ему визибл тру и ли фолс :) Зачем делать это поле статическим?
"чтобы не передавать на него ссылку"
"Передавать ссылку" это как?) Т.е. у тебя есть созданный обьект и ты кому то передаёшь ссылку на него? И что в этом плохого?
Вообще постарайся нормально сформулировать мысль :)
ok визибл нужно менять из 3-х других экземпляров разного типа, для этого каждому из них нужно передавать ссылку на этот экземпляр. По логике т.к. этот класс у меня используется в единственном числе - проще было бы сделать его статичным, нет?
Нет, проще передавать сслыку :)
screamge
29.10.2007, 16:59
Если я правильно понял этот изврат то вот:
public class Main extends MovieClip {
private static var mc:MovieClip;
public function Main() {
Main.mc = this;
}
public static function set visible (truefalse:Boolean):void {
mc.visible = truefalse;
}
}
Main.visible = false;
Так отключить его вид.
передавай ссылки, синглтон сделай, но не сметь делать такой изврат ))
Спасибо, думаешь это полный изврат?!
Гххх... да понял - буду переделывать...
Изврат, но зато какой! =) можно сразу все экземпляры такого класса гасить одним вызовом "Main.visible = false" 8)))
Изврат, но зато какой! =) можно сразу все экземпляры такого класса гасить одним вызовом "Main.visible = false" 8)))
все экземпляры гасить лучше с помощью статического эвент диспатчера:)
screamge
30.10.2007, 04:19
Правильнее через паттерн Observer.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.