我们什么时候需要像本教程中那样将阶段的引用从一个 as3 类传递到另一个类
http://asgamer.com/2009/as3-flash-games-for-beginners-firing-weapons-with-delays
他在从子弹类到船类的舞台上添加了一个参考
据我了解,当我们想在另一个类中使用某个类中的函数时需要引用,但为什么我们必须引用阶段不是整个项目的一个阶段还是每个类都有自己的阶段?
我很困扰
谢谢
我们什么时候需要像本教程中那样将阶段的引用从一个 as3 类传递到另一个类
http://asgamer.com/2009/as3-flash-games-for-beginners-firing-weapons-with-delays
他在从子弹类到船类的舞台上添加了一个参考
据我了解,当我们想在另一个类中使用某个类中的函数时需要引用,但为什么我们必须引用阶段不是整个项目的一个阶段还是每个类都有自己的阶段?
我很困扰
谢谢
只有连接到舞台的对象才会显示在屏幕上。在教程中,他将激光添加到舞台显示列表中,以便它出现在屏幕上。visible
在添加之前,无论属性如何,它都不会被渲染。
有关显示列表的更多信息,请参阅此内容。
@Geotarget 是正确的,但答案有点间接。
不在显示列表中的对象实际上没有对 的引用stage
。因此,例如,如果您创建一个var mc:MovieClip = new MovieClip();
未添加到显示列表中的 (如addChild(mc)
),那么mc.stage
将是null
。(此外,检查if(mc.stage){[...]}
也是一种验证是否MovieClip
是显示列表的一部分的方法。)
因此,您可以传递stage
对非显示列表对象的引用,以允许它们访问诸如stageWidth
.
是的,当您想要访问该特定类(引用所属)中存在的函数时,需要引用。这是用途之一。
整个项目只有一个阶段。
在您正在学习的教程中,这两个类都使用了 COMMON Stage 的引用,因此它们都可以访问 Stage。这就像给两个人一个地方的地址。这样他们两个都可以去那里。当然,提供地址并不意味着我们为每个地址建造两个地方。
五。