AS3 在添加到另一个 AS class 文件的舞台时访问 MovieClip
AS3 Accessing MovieClip when added to stage on another AS class file
我已经尝试在此处搜索文章,但遗憾的是,没有找到任何有助于解决我的问题的内容。抱歉,如果有文章提供我正在寻找的答案,并且我确信这是一个简单的答案,我就是无法完全理解它。
我有我的 AS 阶段文档和两个 AS Class 文件(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.
请让我知道哪里出错了,在此先感谢大家。
我使用这段代码从主 swf 获取变量
var p:MovieClip = this.parent.parent as MovieClip;
trace(p.variableName);
只需将其传递给构造函数(class 名称应以大写字母开头):
public function GameScreen (currentLocation:Point)
{
//...
这不依赖于可能发生变化的显示层次结构(如 .parent
那样)。
而且它也不关心该变量的定义位置(例如 root.currentLocation
、static var
和 .parent
)。
它只是说 "Hello, I'm a GameScreen and I need the current location. Please give it to me."
将 Main class 中的 currentLocation
变量设为静态。
public static var currentLocation:int;
以便您可以在 gameScreen class 中访问 Main.currentLocation
。
我已经尝试在此处搜索文章,但遗憾的是,没有找到任何有助于解决我的问题的内容。抱歉,如果有文章提供我正在寻找的答案,并且我确信这是一个简单的答案,我就是无法完全理解它。
我有我的 AS 阶段文档和两个 AS Class 文件(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.
请让我知道哪里出错了,在此先感谢大家。
我使用这段代码从主 swf 获取变量
var p:MovieClip = this.parent.parent as MovieClip;
trace(p.variableName);
只需将其传递给构造函数(class 名称应以大写字母开头):
public function GameScreen (currentLocation:Point)
{
//...
这不依赖于可能发生变化的显示层次结构(如 .parent
那样)。
而且它也不关心该变量的定义位置(例如 root.currentLocation
、static var
和 .parent
)。
它只是说 "Hello, I'm a GameScreen and I need the current location. Please give it to me."
将 Main class 中的 currentLocation
变量设为静态。
public static var currentLocation:int;
以便您可以在 gameScreen class 中访问 Main.currentLocation
。