AS3在添加到另一个AS类文件的阶段时访问MovieClip

时间:2015-05-01 08:45:19

标签: actionscript-3 class movieclip

我已经尝试过在这里搜索文章而且很遗憾,没有找到任何有助于解决我问题的文章。对不起,如果有文章的答案我正在寻找,我相信这是一个简单的答案,我只是不能完全理解它。

我有我的AS阶段文档和两个AS类文件(MAIN和gameScreen),我试图从gameScreen.as文件中的MAIN访问'currentLocation'变量。

我尝试的所有东西似乎都失败了并且出现了错误。

          import Main;
          trace(Main.currentLocation);

          trace(MovieClip(parent).currentLocation);

我得到的错误:

        TypeError: Error #1034: Type Coercion failed: cannot convert Main$ to flash.display.MovieClip.

请让我知道我哪里出错了,先谢谢你们。

3 个答案:

答案 0 :(得分:2)

只需将其传递给构造函数(类名称应以大写字母开头):

public function GameScreen (currentLocation:Point)
{
    //...

这不依赖于可能发生变化的显示层次结构(如.parent所做的那样)。 并且它并不关心定义变量的位置(例如root.currentLocationstatic var.parent)。

它只是说"你好,我是一个GameScreen,我需要当前的位置。请把它交给我。"

答案 1 :(得分:0)

我使用此代码从主swf中获取变量



var p:MovieClip = this.parent.parent as MovieClip;
trace(p.variableName);




答案 2 :(得分:0)

将Main类中的currentLocation变量设为静态。

public static var currentLocation:int;

这样您就可以在gameScreen类中访问Main.currentLocation