Actionscript 3 如何分配父项';来自父项的s变量';谁的孩子?

Actionscript 3 如何分配父项';来自父项的s变量';谁的孩子?,actionscript-3,variables,Actionscript 3,Variables,我想将变量从父级传递到子级。如何传递变量。在这里我粘贴我的代码。任何人请指导我。提前感谢 我的家长班 public class PlayerStrobe_domaincheck extends Sprite { private var myService:NetConnection = new NetConnection(); private var _loader:Loader; public function PlayerStrobe_domaincheck()

我想将变量从父级传递到子级。如何传递变量。在这里我粘贴我的代码。任何人请指导我。提前感谢

我的家长班

public class PlayerStrobe_domaincheck extends Sprite
{
    private var myService:NetConnection = new NetConnection();
    private var _loader:Loader;

    public function PlayerStrobe_domaincheck()
    {
        _loader = new Loader();
        var sourceId:String = loaderInfo.parameters.src;// I want to pass This Variable
        var some:StrobeMediaPlayback = new StrobeMediaPlayback(parentObject);// Access of undefined property parentObject(Error Message).
        some = new StrobeMediaPlayback(this);
} }

我的孩子班

public class StrobeMediaPlayback extends Sprite
{
    private var _loader:Loader;
    private var sourceId:String; //i want to access the the parent  variable(sourceId) here
    parentClass = parent;
    function Test():void
        {
                mediaContainer.addMediaElement(alert);
                            alert.alert("Error",parentClass.sourceId);
                 }

除非父级中的变量是
public

再说一遍,这样做并不是很好的代码,因为这样子类就只能被添加到父类中,而不能添加到其他类中


最好的方法是分派一个事件,并让父级侦听该事件。父类中的事件处理程序应该更改父类中的变量。

Yoc可以将父类传递给子类

public class StrobeMediaPlayback extends Sprite
{
    private var _loader:Loader;
    private var sourceId:String; //i want to access the the parent  variable(sourceId) here
    private var parentClass:PlayerStrobe_domaincheck;

    public function StrobeMediaPlayback(parent:PlayerStrobe_domaincheck)
    {
        parentClass = parent;
        trace("welcome");
    }   
    public function Test():void
    {
        trace(parentClass.sourceId);
    }
}
当您从父对象构造子对象(例如)时,像param一样传递父对象

var some:StrobeMediaPlayback = new StrobeMediaPlayback(parentObject)
你对父母的定义应该是这样的

public class PlayerStrobe_domaincheck extends Sprite
{
    private var myService:NetConnection = new NetConnection();
    private var _loader:Loader;
    private var some:StrobeMediaPlayback; //update
    public var sourceId:String;

    public function PlayerStrobe_domaincheck()
    {
        _loader = new Loader();
        sourceId = loaderInfo.parameters.src;// I want to pass This Variable
        some = new StrobeMediaPlayback(this) //update
    }
}

您可以在parents构造函数中污损您的子对象

1119:通过静态类型PlayerStrobe\u domaincheck的引用访问可能未定义的属性sourceId。我遇到这样的错误,你如何定义你的子对象?是否正确地将父对象作为参数传递给它?
public class PlayerStrobe_domaincheck extends Sprite
{
    private var myService:NetConnection = new NetConnection();
    private var _loader:Loader;


    public function PlayerStrobe_domaincheck()
    {
        _loader = new Loader();
        var sourceId:String = loaderInfo.parameters.src;

        var some:StrobeMediaPlayback = new StrobeMediaPlayback(sourceId);

        new StrobeMediaPlayback(this);
    }
}



public class StrobeMediaPlayback extends Sprite
{
    private var _loader:Loader;
    private var sourceId:String;
    parentClass = parent;

   public function StrobeMediaPlayback(sourceIdVariablePassed:String):void
    {
                mediaContainer.addMediaElement(alert);
                trace("Source ID "+sourceIdVariablePassed);
    }
}