同一行代码,Button和MovieClip的比较

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:同一行代码,Button和MovieClip的比较
  • 本文链接:http://zengrong.net/post/206.htm

下面这行代码中,this是一个影片剪辑,实例名为 upload_mcup_btn 是库中的一个按钮的标识符。此按钮中有一个动态文本域关联label变量。按道理说,下面的代码会把按钮attach到舞台上并且将其中的动态文本值设置为“浏览…”。

browse_btn = this.attachMovie("up_btn","browse_btn",1);
browse_btn.label = "浏览...";

可是,没有作用。按钮中的动态文本域仍然为空。反而是下面的代码起了作用:

browse_btn = this.attachMovie("up_btn","browse_btn",1);
label = "浏览...";

很奇怪把?我试试把库中的按钮类型更改为影片剪辑,老的代码就有用了。而且也可以这样使用了:

browse_btn = this.attachMovie("up_btn","browse_btn",1,{label:"浏览..."});

查看一下调试器,发现当 up_btn 为按钮时,它居然不会出现在舞台中!也就是说,label直接就暴露在 upload_mc 中了。按钮居然没有实体,只有一个引用!

下图是当 up_btn 为按钮时的调试器截图:

attachbtn.png

下图时当 up_btn 为影片剪辑时的调试器截图:

attachmc.png

看了看帮助,原来Button类并不像我以前所想的继承于MovieClip类,而是继承自Object类。难怪了……:em15: