设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

Flash 组件应用与开发

来源:136z.Com 作者:佚名 时间:2005-06-18 23:48:11



一、Flash 组件概述

组件是带有参数的电影剪辑,这些参数可以用来修改组件的外观和行为。每个组件都有预定义的参数,并且它们可以被设置。每个组件还有一组属于自己的方法、属性和事件,它们被称为应用程序程接口(Application Programming Interface,API)。使用组件,可以使程序设计与软件界面设计分离,提高代码的可复用性。Flash MX 2004 或 Flash MX Professional 2004 中包含的组件不是 FLA 文件,而是 SWC 文件。SWC 是用于组件的 Macromedia 文件格式。库项目中的电影剪辑可以被预编译成swf文件。这样可以缩短影片测试和发布的执行时间。将 SWC 文件拷贝到 First Run\Components目录后,该组件便会出现在“组件”面板中。


Flash自带的组件都位于mx.controls包中。组件直接或间接继承于UIComponent类,UIComponent类对UIObject类做了扩展,而UIObject类又是MovieClip类的子类。MovieClip类不属于任何包,定义文件位于FlashInstalDir\en\FirstRun\Classes目录。UIComponent类和UIObject类都位于mx.core包中,定义文件位于FlashInstalDir\en\FirstRun\Classes\mx\core目录。



UIObject类对MovieClip类进行封装,所有FlashV2组件都可以共享它的方法、属性和事件。UIObject类使组件在样式、事件和缩放比例调整上得到了实现。它提供了动态创建删除组件的方法:

·createObject方法:直接调用attachMovie函数,返回一个MovieClip类型的引用。

·createClassObject方法:调用createObject方法,创建一个指定类的组件实例,并返回所创建的组件的引用。

·createEmptyObject方法:创建一个空的UIObject实例。

·destroyObject方法:使用delete语句删除已经创建的组件实例。

UIObject还封装了其它的一些方法,包括:

·redraw方法:在当前帧重新绘制组件。

·invalidate方法:标记组件,使之在下一个帧间隔重新绘制。

·move方法:把组件移动到指定位置。

·setSize方法:设置组件大小。

·setSkin方法:设置组件皮肤。

·getStyle方法:获取样式信息。

UIObject类的属性除了scaleX和scaleY外,其它都是只读属性,使用时需要注意。所以如果要在运行时调整组件外观,就必须使用UIObject类的方法。对于只读属性的赋值是无效的,即使是对非只读属性的赋值,有时也会造成组件在外观显示上的差错。UIObject类还定义了一系列的事件,包括加载事件(load)、卸载事件(unload)、移动事件(move)、重绘事件(draw)和大小调整事件(resize)。

利用UIObject类的组件创建方法,可以在运行时创建组件实例。

UIComponent类从UIObject类继承,它并不是一个可视的组件。和UIObject类一样,所有FlashV2组件都可以共享它的方法和属性。它实现了组件的焦点获取、键盘输入,组件的禁用和启用以及组件的按布局调整自动大小。

UIComponent类的主要方法有:

·getFocus方法:利用焦点管理器(Selection)返回一个当前获取焦点的对象的引用。

·setFocus方法:使组件获取焦点。

UIComponent类的enabled属性指定组件实例是否可用;tabIndex属性指定组件的焦点获取顺序。UIComponent类还定义一系列焦点和键盘事件:焦点获取事件(focusIn),焦点转移事件(focusOut)、键盘按下事件(keyDown)和键盘释放事件(keyUp)。

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: