我已经尝试过在这里搜索文章而且很遗憾,没有找到任何有助于解决我问题的文章。对不起,如果有文章的答案我正在寻找,我相信这是一个简单的答案,我只是不能完全理解它。
我有我的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.
请让我知道我哪里出错了,先谢谢你们。
答案 0 :(得分:2)
只需将其传递给构造函数(类名称应以大写字母开头):
public function GameScreen (currentLocation:Point)
{
//...
这不依赖于可能发生变化的显示层次结构(如.parent
所做的那样)。
并且它并不关心定义变量的位置(例如root.currentLocation
,static 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
。