?在Actionscript 3.0中,如果只是简单的图形,使用代码可能会比较容易,但如果是复杂的界面.或者说其中有多层嵌套的情况,完全使用代码处理,不一定是件简单的事情,针对库中的影片剪辑,有时我们可能要在其内部嵌套影片剪辑.下面是笔者的一个小测试.
1.在flash的场景中创建一个影片剪辑,然后,在这个影片剪辑中分别有一个实例名为my_txt文本框和实例名为my_mc的影片剪辑.然后在库中这个影片命名链接类名Test
2. 编写Test类,我们希望能控制my_txt和my_mc.
package{
import flash.display.MovieClip;
import flash.text.TextField;
public class Test extends MovieClip{
public var my_mc:MovieClip;
public var my_txt:TextField;
function Test():void{
my_mc.x =100;
my_txt.x =200;
trace(my_mc.x);
}
}
}
所以注意此处要写成public.才可以成功.
3.回到flash9的主场景中,在根下键入this.addChild(new Test());然后测试影片.
你会发现我们已经可以成功的控制影片剪辑内文本框my_txt和my_mc影片剪辑了.为什么要写这段测试呢,因为之前许是习惯
public var my_mc:MovieClip;
public var my_txt:TextField;
这两行之前写成了private var my_mc:MoiveClip. 编译时会出现如下提示
ReferenceError: Error #1056: 无法为 Test 创建属性 my_mc。
at flash.display::Sprite/flash.display:Sprite::constructChildren()
at flash.display::Sprite$iinit()
at flash.display::MovieClip$iinit()
at Test$iinit()
at flash.display::Sprite/flash.display:Sprite::constructChildren()
at flash.display::Sprite$iinit()
at flash.display::MovieClip$iinit()
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1821.html