╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇FLASH交流 → Flash编写类及外部as文件的方式


  共有14980人关注过本帖平板打印复制链接

主题:Flash编写类及外部as文件的方式

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27515 威望:0 精华:7 注册:2003/12/30 16:34:32
Flash编写类及外部as文件的方式  发帖心情 Post By:2011/9/27 16:00:54 [只看该作者]

我们已经了解到了在flash 9中如可在时间线上编写代码,如何将现有的时间线上的代码转换为外部类.以及flash9的Document Class形式,接下来我们要更细一步的来研究编写类及外部as文件的方式.

include

如果你之前了解As1.0,As2.0编程,那么对include一定不陌生,在Actionscript 3.0中我们仍可以使用include 来导入代码.
如下的例子:


1.打开flash新建一个文档,保存为drag_inclue.fla在场景中创建一个movieclip,本例中使用的圆球,将其转换为影片剪辑,并在场景中将其命名为circle_mc. 不需要在库中设置链接属性.
2.新增一层,按下F9打开Actionscript面板,在其中输入代码如下:
代码:


//设置当光标移到circle_mc上时显示手形
circle_mc.buttonMode = true;
// 侦听事件
circle_mc.addEventListener(MouseEvent.CLICK,onClick);
circle_mc.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
circle_mc.addEventListener(MouseEvent.MOUSE_UP,onUp);
//定义onClick事件
function onClick(event:MouseEvent):void{
     trace("circle clicked");
}
//定义onDown事件
function onDown(event:MouseEvent):void{
     circle_mc.startDrag();
}

function onUp(event:MouseEvent):void{
     circle_mc.stopDrag();
}

 

3.将此帧上的代码全部选中,按下ctrl+x剪切掉,选择flash的new菜单,新建一个Actionscript文件,在刚剪切掉的代码贴上.保存名为drag_include.as.与drag_include.fla在同一路径下.
4.回到drag_include.fla中,在第一帧上输入如下代码:
include "drag_include.as"
测试影片即可以看到与时间线上测试时相同的结果了.此种方式,在As1.0时经常使用.如果你仍习惯这种方式,在Actionscript 3.0中仍可以使用.

元件类(symbol class)

      这里所说的元件件类,实际是指为flash影片中的元件指定一个链接类名.它与上面的include 的不同之处于,它使用的是严格的类结构.而不是我们习惯上的时间线编写方式.我们要将小圆球的拖动功能封装起来,这样不论你创建多少可以拖动的小球,都会变得很轻松,只需要创建它的实例并显示出来即可。
我们仍使用上例来说明问题.打开drag_include.fla文件,将其另存为Symbol_class.fla文件,新建一个Actionscript文件,将其保存为Symbol_class.as文件,与Symbol_class.fla文件在相同目录下。现在我们将上面的例子中的代码抽象成类如下:
代码:


package {
    
     import flash.display.MovieClip;
     import flash.events.MouseEvent;
     public class Symbol_class extends MovieClip {
         public function Symbol_class(){
            
             this.buttonMode = true;
             this.addEventListener(MouseEvent.CLICK,onClick);
             this.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
             this.addEventListener(MouseEvent.MOUSE_UP,onUp);



  
平面设计、网站建设、三维动画、视频制作 联系QQ:114103945  回到顶部