原谅我是菜鸟,今天弄了个动态文本的操作类,昨天实验的时候轻易实现,但今天怎么弄也没法实现,我只是想要改变舞台上文本控件的文本内容,如下:

package {
public class Mian extends Object{
public function Main():void{

//st_Text为舞台的文本实例名称
st_Text.text="1234567890";
}
}
}

但加载影片后居然没出现任何东西,但我明明在新建的工程是完全可以实现更改的,两者唯一的不同在于,前者的帧上我放了很多的东西,那时我还没根本意识到加载未完成这一回事,哪怕我有用trace(st_Text is Objetc)返回为true。当我google去搜了一堆的东西终于由进度条的描述中激灵一下,意识到我应该让我的初始化函数必须在影片加载完毕之后响应,于是作了如下修改:

package {
public class Mian extends Object{

//主文档类函数,先监听加载全部内容后再进行初始化
public function Main():void{
root.loaderInfo.addEventListener(Event.COMPLETE,CompleteLoad);
}

//加载完毕,初始化舞台的元件
public function CompleteLoad(event:Event):void{
this.ControlerInit();
}

//初始化函数
public function ControlerInit():void{
st_Text.text="1234567890";
}
}
}

于是就行了。

AS3的监听事件就比如MFC中的消息响应一样,但远比MFC的消息函数要灵活很多,本打算在主体完成之后才作Loading的操作,结果就让我白白浪费了一个下午去想这个没头绪的Bug,真要命呢。