2007/04/28 | ActionScript 3.0(as3)中的嵌套影片剪辑控制
类别(flash As) | 评论(1) | 阅读(1205) | 发表于 19:18
ActionScript 3.0(as3)中的嵌套影片剪辑控制 (pop语言泡原型)
作者:egoldy | 来源:webstudio.com.cn | 浏览次数:102 | 2007-3-12 19:45:22



在Actionscript 3.0中,如果只是简单的图形,使用代码可能会比较容易,但如果是复杂的界面.或者说其中有多层嵌套的情况,完全使用代码处理,不一定是件简单的事情,针对库中的影片剪辑,有时我们可能要在其内部嵌套影片剪辑.下面是笔者的一个小测试.

1.在flash的场景中创建一个影片剪辑,然后,在这个影片剪辑中分别有一个实例名为my_txt文本框和实例名为my_mc的影片剪辑.然后在库中这个影片命名链接类名Test
2. 编写Test类,我们希望能控制my_txt和my_mc.

<listing>

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

}

}
}
</listing>
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.才可以成功.


flash文件里有一个star的MC在库里,类名定义为star,虽然没有star类存在,但是FLASH的编译的时候会为他自动生成一个。在使用的时候直接实例化一个就可以,然后用addChild添加到场景或目标mc中.
相当于attachMovie的用法。
flash文件的document class设置为Attachteach.as



package
{
  import flash.display.Sprite;
  //Sprite�൱��û��timeline��movieClip
  import flash.display.Shape;
  public class Attachteach extends Sprite
  {
    public function Attachteach():void
    {
      var myCircle:Sprite = new Sprite();
      myCircle.graphics.beginFill(0xff0000 , 1);
      myCircle.graphics.drawCircle(200 , 150 , 100);
      addChild(myCircle);
      //addChild�൱��attachMovie

      var myStar = new star();
      myStar.x=150;
      myStar.y=100;
      //将Star加入到myCircle中
      myCircle.addChild(myStar);



    }


  }
}
0

评论Comments

日志分类
首页[193]
flash As[107]
有的没的[59]
数码照片[4]
自由世界[19]
blender[4]