会员中心
用户名:    密码:    验证码:      免费注册会员

jquery手册   CSS2手册       请关注健康

CSSer > 客户端开发 > web多媒体设计 > ActionScript 3.0中的嵌套影片剪辑控制

来源: 作者:egoldy 发布时间:2007-03-11
雅虎收藏夹 百度收藏 Google书签 Yahoo书签 新浪ViVi 搜狐网摘 365Key网摘 天极网摘 diglog 和讯网摘 POCO网摘 YouNote网摘 博拉网 天下图摘 Del.icio.us digg reddit spurl BlinkList blogmarks

在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);

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()

}

}
}

所以注意此处要写成public.才可以成功.


相关文章