打印

[AS3] 舞台参数

我想把递舞台作参数传到另一个AS文件里,我用stage:Stage接收了传来来的参数,但是我想用this.stage=stage;
我想知道怎么建立this.stage对像,让this.stage实例化,
我是这样做的,但是错了var stage:Stage=new Stage();
仔细读一下文档,stage类在flash里是不需要实例化的,它是一个全局类,所有容器类都有一个stage参数,不需要定义。
blog.icebirds.net
这个我知道,但是他只在Document class定义的那个AS文件里有用啊……我要实现一个功能,所以还有另外一个AS文件,所以需要Document class这个AS传过来的舞台参,我想知道怎么建立this.stage对像,让this.stage实例化,
我是这样做的,但是错了var stage:Stage=new Stage();,但是我想知道有什么办法让他可以在那个文件里实例化,让他在那里文件里可用
我来告诉你,
假如Document class是main.as, 另一个as文件是other.as(假定other.as是一个类文件)

两种方法,
1.用为参数传递,
在main.as里实例化other类,然后传stage到other内部。
class main
{
...
var other = new other(stage);
...
}

2.将other继承某一个容器类
比如:
class other extends Sprite
{
...
public function other()
{
//这里不能使用stage属性
}
...
public function func()
{
var tw:Number = stage.stageWidth;
//这里就使用了stage属性,它指向Stage.
//而且stage属性不能在构造函数(other())里引用它,因为此类还没有实例化,它还没有被加到displaylist里面,
//所以,在构造函数里引用它时,为null值,只能在此类的其它方法(并且此方法不被构造函数直接调用)里引用它。
}
}

//实例化这个类后,再调用func方法
var other = new other();
addChild(o);
o.func();
--oo-----------------------------------

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!