这两天在做首页的那个Flash,现在做做Flash真是越来越自信了,结果就碰了壁。
先看一下下列代码:
|
|
于是,诡异的事情发生了,这个Sprite不见了!
这个问题纠结了我好几个小时,我总是以为我的代码哪里错了(虽然事实上就是错了),但是找不到错在哪里,无语了一晚上。
第二天,彻底取余的我看了一下AS3语言参考,发现了如下一段文字:
width:Number
[读写]
**语言版本: **
ActionScript 3.0
**运行时版本: **
AIR 1.0, Flash Player 9
指示显示对象的宽度,以像素为单位。 宽度是根据显示对象内容的范围来计算的。 如果您设置了 width
属性,则 scaleX
属性会相应调整,除 TextField 和 Video 对象以外,没有内容的显示对象(如一个空的 Sprite)的宽度为 0,即使您尝试将 width
设置为其它值,也是这样。
原来如此!
也就是说,当我把mc.width设置成100时,等于设置了mc.width=0和mc.scaleX=0,所以即使后面画了图形,也由于mc.width已经为0而无法显示,本来Sprite是自适应大小的,现在由于规定了为0反而不能变了。
于是,把设置width和height的语句删除,一切正常。但是我要改大小怎么办呢?
如果画完图再设置width和height,将会变成裁剪,所以只能在画图的过程中自行设置大小了。
于是最终代码就成为这样:
|
|
成功执行~~~
来张效果图: