package flashrek.example{
public class AAA {
function AAA() {
var b:BBB=new BBB();
flashrek::NStest();
}
flashrek function NStest() {
trace("namespace test");
}
}
}
//package外的类、命名空间不能默认且只能是internal的,且仅能为在此package内使用。
//package外是不能使用public关键字的。
namespace flashrek= "www.flashrek.com"
internal class BBB {
function BBB() {
trace("BBB");
var c:CCC=new CCC();
}
}
class CCC {
function CCC() {
trace("CCC");
}
}
在这里namespace flashrek 定义在package 外,它只能在package 级别访问到。因此用a.flashrek::NStest();是错误的。
经典论坛讨论:
http://bbs.blueidea.com/thread-2744237-1-2.html
有2种方式可以访问LoaderInfo对象:
1)访问flash.display.Loader对象的contentLoaderInfo属性;
2)任何一个可显示对象(display object)都有loaderInfo属性;
注意:每个SWF文档的主类的实例有loaderInfo属性,每个Loader有loaderInfo属性,同时它有一个contentLoaderInfo属性,通过这个属性你可以访问到Loaded对象的loaderInfo。具体可以看下图:

下面还是老习惯,来例子示范。首先来一个loading外部文件的例子:var request:URLRequest = new URLRequest("flashrek.swf");
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
function loadProgress(event:ProgressEvent):void {
var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
trace("Loading: "+percentLoaded+"%");
}
function loadComplete(event:Event):void {
trace("Complete");
}
loader.load(request);
addChild(loader);
这里要注意loader的load方法只接受URLRequest对象作为参数;另外就是ProgressEvent类,比较简单,看帮助就好了。
经典论坛讨论:
http://bbs.blueidea.com/thread-2744638-1-2.html


















