PDA

Просмотр полной версии : ссылка на stage в не основном классе


vitamin4er
05.03.2014, 22:44
Здравствуйте! Возможно ли получить ссылку на stage не в основном классе, собственно, не передавая stage в параметре при создании. Экземпляр класса не создается в основном классе и никак этот параметр получить не может.

samana
05.03.2014, 22:52
А ваш класс DisplayObject (Sprite, MovieClip, Shape и т.д) ? Если да, то при добавлении его на сцену, свойство stage (экземпляра вашего класса) автоматически получает ссылку на Stage.
А если ваш класс не добавляется на сцену ( не DO), то остаётся только способ передачи ссылки на stage (не обязательно через конструктор).

vitamin4er
05.03.2014, 22:58
Да, к сожалению он не добавляется на сцену. Придется давать ему параметр через цепочку классов) Спасибо!!

samana
05.03.2014, 23:08
Но если всем экземплярам это класса нужна ссылка на stage, то вы можете сделать это свойство статичным, чтобы передать ссылку через имя класса, а не через цепочку к каждому конкретному экземпляру.
Например ваш класс
package
{
import flash.display.Stage;

public class MyClass
{
private static var _stage:Stage = null;

public function MyClass()
{

}

public function traceStage():void
{
trace(_stage);
}

static public function set stage(value:Stage):void
{
_stage = value;
}

}

}

и где бы он не находился, вы можете передать ссылку на сцену, например написав в Main классе

MyClass.stage = stage;