Actionscript 3 AS3从多个类访问舞台上的movieclip

Actionscript 3 AS3从多个类访问舞台上的movieclip,actionscript-3,flash,class,Actionscript 3,Flash,Class,我有一个fla文件,舞台上有一个叫做丁的电影剪辑 我有一个Main.as文件,其中包含以下代码,我可以跟踪ding.x: package { import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; public class Main extends MovieClip{ public static var _goviral:goviral; pub

我有一个fla文件,舞台上有一个叫做丁的电影剪辑

我有一个Main.as文件,其中包含以下代码,我可以跟踪ding.x:

package { 

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class Main extends MovieClip{
    public static var _goviral:goviral;

    public function Main() {
        createPlayer();
    }

    public function createPlayer():void{

        _goviral = new goviral();

        trace(ding.x);
    }

}
}
package { 

import flash.display.MovieClip;
import Main;

public class goviral extends MovieClip{

    public var main:Main;


    public function goviral(){
        main = new Main();
        trace(ding.x);
    }
}
}
我还有一个goviral.as,这里有以下代码,我无法跟踪ding.x:

package { 

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class Main extends MovieClip{
    public static var _goviral:goviral;

    public function Main() {
        createPlayer();
    }

    public function createPlayer():void{

        _goviral = new goviral();

        trace(ding.x);
    }

}
}
package { 

import flash.display.MovieClip;
import Main;

public class goviral extends MovieClip{

    public var main:Main;


    public function goviral(){
        main = new Main();
        trace(ding.x);
    }
}
}
如何追踪goviral.as类中的电影唇?我一直在用头撞墙,想让它工作。请帮帮我


tnx

正如@DodgerThud所指出的,您需要首先解决无限循环问题。 您可以将ding传递给goviral的构造函数,使其具有自己的引用:

package { 

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class Main extends MovieClip{
    public static var _goviral:goviral;

    public function Main() {
        createPlayer();
    }

    public function createPlayer():void{

        _goviral = new goviral(ding);
    }

}
}
您不应该再次实例化Main

package { 

import flash.display.MovieClip;

public class goviral extends MovieClip{    

    public function goviral(ding:MovieClip){
        trace(ding.x);
    }
}
}

Tnx,但这对我不起作用。我得到以下错误:错误:错误2136:SWF文件file:///C|/Users/mnobe%5F000/Desktop/Class%20test/test.swf包含无效数据。正如@DodgerThud所指出的,由于INIFIENT循环,这将无法工作。我将更改我的答案以修复您的代码。这不会导致无限循环吗?main在其构造函数中创建一个新的goviral对象,而goviral构造函数在其自己的构造函数中创建一个main对象,从而创建一个新的goviral对象,从而创建一个新的main对象等。