通常在AS3中会用到一些顶级的方法,他们没有实例化任何对象。如getTimer()、parseFloat( )等等。那么这些方法如何实现的呢?

其实虽然没有使用某个对象来调用,但是他们却引用了某些包。本着执着的精神,于是还是找到了怎么写的法子。

如下一个简单的例子,一个简单的打印语句 只是在其前面加上了前缀

新建一个 as文件 命名为 traceInfo。然后键入下面代码

package
{
public function traceInfo( value:String ):void{
trace( '--'+value );
}
}

同理顶级属性(例如 需要一个游戏版本号,相比而言用静态公共属性与顶级属性的话,顶级的更方便)

package
{ 
   public const VERSION:String = '1.2.0';
}

或者

package
{ 
   public function get VERSION():String
   {
     return '1.2.0';
    }
}

注意:将class包含的全部去掉 只留下构造函数,但是去掉class的构造函数就不是构造函数了,变成了普通的函数,所以还得加上返回值 否则有警告(不加也可,强迫症没法,见不得警告)

另外文件名也必须和这个方法名相同不然会出现报错

 

然后就可以再任何地方使用了。如下图 可以看到 traceInfo 和 trace 都能够在代码提示里面看到

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Free Web Hosting