PDA

Просмотр полной версии : static MovieClip


TbIKBA
29.10.2007, 14:45
Есть необходимость класс расширяющий MovieClip, (его визуальная часть лежит в библиотеке) сделать статичным, чтобы через имя класса менять его visible. Есть ли такая возможность? ведь visible это свойство экземпляра...
Как такие вещи обходят?

etc
29.10.2007, 15:19
Такие вещи просто не делают. Проблему не понял.

kotsie
29.10.2007, 15:28
а почему нельзя создать экземпляр?

TbIKBA
29.10.2007, 16:34
__etc: kostie: чтобы не передавать на него ссылку.

Artureg
29.10.2007, 16:39
3 раза прочитал, сути не уловил.

Создавай экземпляр, делай ему визибл тру и ли фолс :) Зачем делать это поле статическим?

"чтобы не передавать на него ссылку"

"Передавать ссылку" это как?) Т.е. у тебя есть созданный обьект и ты кому то передаёшь ссылку на него? И что в этом плохого?

Вообще постарайся нормально сформулировать мысль :)

TbIKBA
29.10.2007, 16:45
ok визибл нужно менять из 3-х других экземпляров разного типа, для этого каждому из них нужно передавать ссылку на этот экземпляр. По логике т.к. этот класс у меня используется в единственном числе - проще было бы сделать его статичным, нет?

Artureg
29.10.2007, 16:51
Нет, проще передавать сслыку :)

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;


Так отключить его вид.

__i
29.10.2007, 17:13
передавай ссылки, синглтон сделай, но не сметь делать такой изврат ))

TbIKBA
29.10.2007, 17:14
Спасибо, думаешь это полный изврат?!

Гххх... да понял - буду переделывать...

ALiEN_
29.10.2007, 19:12
Изврат, но зато какой! =) можно сразу все экземпляры такого класса гасить одним вызовом "Main.visible = false" 8)))

derhab
30.10.2007, 03:40
Изврат, но зато какой! =) можно сразу все экземпляры такого класса гасить одним вызовом "Main.visible = false" 8)))
все экземпляры гасить лучше с помощью статического эвент диспатчера:)

screamge
30.10.2007, 04:19
Правильнее через паттерн Observer.