PDA

Просмотр полной версии : Вопрос по поводу ссылки на объект


StasMIX
22.02.2011, 17:38
допустим у меня есть иерархия - stage=>obg=>shape=>movieclip1, Также в объекте stage есть еще один объект, то есть stage=>obg=>movieclip2. Как обратится из movieclip1 в movieclip2?

shootkin
22.02.2011, 18:01
Например, вот так:
public class main
{
public function init( stage : Stage )
{
var obg : MovieClip = new MovieClip();
var shape : MovieClip = new MovieClip();
var movieclip1 : Movieclip1 = new Movieclip1();
stage.addChild( obg );
obg.addChild( shape );
shape.addChild( movieclip1 );

var movieclip2 : Movieclip = new Movieclip();
obg.addChild( movieclip2 );

movieclip1.movieclip2 = movieclip2;
}
}


public class Movieclip1 extends MovieClip
{
public var movieclip2 : MovieClip = null;

public function set movieclip2Alpha( value : Number ):void
{
if( movieclip2 != null ) movieclip2.alpha = value;
}
}
Некий класс мэйн создает всю твою иерархию и самым элементарным образом делает в movieclip1 референс на movieclip2. После этого movieclip1 может делать с movieclip2 что захочет (альфу менять к примеру).
Если такая схема в твое приложение не вписывается, то надо менять идеалогию самого приложения.

StasMIX
22.02.2011, 18:20
Спасибо, очень помогли))))

ZergMaster
22.02.2011, 19:27
я обычно создаю статическую переменную, которой передаю stage

public class Init
{
public static var st:*
public function Init(St:*)
{
st = St;
}
}

в кадре пишу (либо в main - классе);
var init = new Init(this);

далее из любого класса получаю ссылку на любой объект через

Init.st