as2加载文件后如何更改它的属性

现在是as3的时代,使用as2的机会已经少了,但是由于之前遗留下来的代码需要维护,和某些原因不得不再次使用as2,这时会发现习惯了as3的模式后觉得as2特别的麻烦。

说到加载影片,肯定记得有loadmovie这个方法,这确实是个很方便的方法,仅需要一行就可以实现功能,可是呢,我刚好有个小小的要求,就是想加载后更改被加载的对象的长和宽,这时候loadMovie就不行了呢,如果在下一行试图取得对象的长宽值其结果等于0,这是因为此时文件还没有载入到场景,它仅仅处于读取的阶段,如果你要取值必须等加载完成后才行。

有些人使用了onEnterFrame来连续跟踪,直到属性被设置后再删除onEnterFrame以终止循环,这其实也可以,但并不是最合适的做法,想想这时候如果是as3的话通常通常使用Loader类,并添加一个监听事件来捕捉完成后执行某些代码来实现这个功能。

其实as2也可以实现类似的功能,代码如下:

var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip)
{
   //这里写着加载完成后执行的代码
   target_mc._width=970
   target_mc._yscale =target_mc._xscale
};

var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("menu.swf",menu);

最后一句的写法和loadMovie的写法类似。

添加评论

  Country flag

biuquote
  • 评论
  • 在线预览
Loading

Calendar

<<  九月 2017  >>
星期星期星期星期星期星期星期
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

在日历中浏览文章

Month List