`
china34420
  • 浏览: 137415 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flash AS3.0 元数据

阅读更多

ArrayElementType:

这是指定自己定义的数组中元素的类型,应该类似java中的泛型,用的不多(至少我就没用过,找资料的时候顺便找到的),类似的代码如下:

[ArrayElementType("String")]
public var arrayOfStrings:Array;

这样,这个array就只能放String类型的对象。

Bindable:

毫无疑问这是最常用到的一个标签,几乎所有和数据打交道的地方都会用到这个标签。使用这个标签的属性一旦改变就会dispatch一个事件给监听器,可以选择后面带与不带参数两种方式:

[Bindable]:不带参数就表示使用默认事件,那么flex在满足触发条件是自动发送一个propertyChange事件。

[Bindable(event="eventname")]:带参数表示使用指定的事件,当然首先要把事件给注册好才行。

可以在3个地方使用[Bindable]标签:

1.在public class定义前,这个场景不太常用,这个时候[Bindable]会绑定所有作为变量定义的public属性,并且所有的public属性都定义有 getter和setter方法,[Bindable]没有参数,flex会自动创建一个propertyChange事件来处理所有的公有属性。类似代码如下:

[Bindable]

public class SelfInput extends SimpleWidget

2.在public, protected 或 private 属性前,格式为:
[Bindable]
public var foo:String;

一旦foo值被改变,那么所有使用foo属性的地方都会触发propertyChange事件。

3.在getter和setter事件前定义[Bindable]标签。使用标签时,需要同时定义getter和setter方法,如:

[Bindable]

public function set width(val:Integer):void {
}
public function get width():Integer{
}
如果需要指定发送事件,则如下:

[Bindable(event="redraw")]

public function set width(val:Integer):void {

dispatchEvent(new Event("redraw"));
}
public function get width():Integer{
}


CollapseWhiteSpace

没有找到文档,等到搞明白什么意思的时候再补完。

DataBindingInfo

没有找到这个标签的文档,官方的回答是这是内部标签,只在内部使用的。

DefaultBindingProperty

没有找到这个标签的文档,官方的回答是这是内部标签,只在内部使用的。

DefaultProperty

这个标签也是很少使用的,主要是将一个组件的某一属性指定为他的默认属性,这样在使用该组件时不需要指定属性的名字而是使用该组件的子元素即可。类似代码如下:

定义一个默认属性

[DefaultProperty("text")]

public class SelfInput extends SimpleWidget

使用默认属性

<comp:SelfInput>

<mx:String>testText</mx:String>

</comp:SelfInput>

DefaultTriggerEvent

没有找到这个标签的文档,官方的回答是这是内部标签,只在内部使用的。

Embed

用来把图片,音乐,视频什么的导入到程序中去,可以用这个标签把资源直接整合到swf中去,类似代码如下:

//定义代码

[Embed(source="testIcon.gif")]

public var testIcon:Class

//使用代码

<mx:Button icon="{testIcon}"/>

这时候这个按钮上面就有一个小图标啦。

Event

这个标签主要在编写显示组件时使用,使用这个标签就能够为组件提供一个事件处理函数的接口。定义组件时,可以为该组件赋一个方法在事件触发时调用。类似代码如下:

//定义代码

[Event(name="textChanged", type="flash.events.Event")]
public class SelfInput extends SimpleWidget{

private var _text:String;
public function set text(s:String):void {
_text= s;
var eventObj:Event = new Event(“textChanged");
dispatchEvent(eventObj);
}

}

//调用代码

<mx:Script>

<![CDATA[

public function textChanged(eventObj:Event):void {
trace(eventObj.target.text);
}

]]>

</mx:Script>

<myComp:SelfInput textChanged="textChanged(event)"/>


Effect

用来定义事件触发时产生的效果,和Event标签一起使用。类似代码如下:

//定义代码

[Event(name="textChanged", type="flash.events.Event")]

[Effect(name="textChangedEffect", event="textChanged")]
public class SelfInput extends SimpleWidget{

}

//使用代码

<myComp:SelfInput textChanged="textChanged(event)" textChangedEffect="changeEffect"/>

此时,input组件的text改变时产生效果。使用effect可以制作许多花哨的效果,比如翻页什么的,效果的使用以后再开一篇文章记录。

IconFile

IconFile标签类似Embed标签,也是用来嵌入资源的,只是Embed标签可以嵌入图片、swf、视频、音频等,IconFile只能用来潜入图片文件作为自定义类的图标,在FlexBuilder的Components视窗中找到该组件就能看到它所使用的icon。类似代码如下:

[IconFile(”inputIcon.png”)]

public class SelfInput extends SimpleWidget{

}

Inspectable

属性的代码提示和属性检查,在FlexBuilder中使用该组件时在properties视窗中可以看到该属性的值提示,主要用于一个属性的值为几个固定选项时。类似代码如下:

[Inspectable(category="General", enumeration="text,password", defaultValue="text",type="String")]

public var inputType;

InstanceType

似乎是可以用于模板模式,用于限定引用的对象的类型,与IDeferredInstance一起使用。类似代码如下:

//定义代码

[InstanceType("mx.controls.Button")]

public var uploadBtn:IDeferredInstance;

private function init():void{

addChild(UIComponent(uploadBtn.getInstance()));

}

//使用代码

<myComp:SelfInput>

<myComp:uploadBtn>

<mx:Button label="upload"/>

</myComp:uploadBtn>

</myComp:SelfInput>

还没有遇见过使用场景,不明白为什么不直接使用Button对象引用。

NonCommittingChangeEvent

NonCommittingChangeEvent元数据标签在某个特定事件发生的时候可以防止变量在事件发生的过程中被更改。

示例代码:

[Bindable(event="valueCommit")]
[NonCommittingChangeEvent("change")]
function get text():String {
return getText();
}
function set text(t):void {
setText(t);
// Dispatch events.
}
这样,修改text的时敲入字符就不会触发组件的change事件,只有在所有字符输入完成后才能触发valueCommit事件,可以用于对输入字符进行验证。目前主要遇到的使用场景为在输入框中输入选中组件的宽与高来改变组件的大小,此时不希望改变输入值立刻就改变组件的大小,而是希望改变输入值完成时点击enter键后改变组件的大小,就可以绑定enter事件,不提交change事件。

RemoteClass

大用处。在使用远程调用时将flex的对象和java对象绑定起来,直接将pojo对象通过二进制的方式从前台传递到服务器端。实例代码如下:

package com.priv {
[Bindable]
[RemoteClass(alias="com.priv.UserDo")]
public class UserDo{
public var id:int;

public var name:String;

}
}

这时,java的UserDo对像需要有id和name两个属性的getter和setter,通过BlazeDs框架或是lds框架就能够实现和servlet容器之间的对象远程传递。

ResourceBundle

用于在运行态加载一些文件,目前主要用于做国际化。不过似乎这种国际化方式不能像java那样通过虚拟机的语言来自动指定使用哪个语言文件,需要在编译命令中人工指定使用哪个目录下的资源文件,如下:

-locale zh_CN -allow-source-path-overlap=true -source-path=d:\flex3_projects\wide\locale\zh_CN

之后就可以在d:\flex3_projects\wide\locale\zh_CN这个目录下建立properties文件用于保存国际化信息。properties文件和java的properties文件格式相同。都是如果key=name的键值对。

最后就可以在代码中引用它了:

[ResourceBundle("wide")]

public function init():void{

trace(resourceManage.getString("key"));

}

Style

用于给自定义组件添加样式属性。只需要将style标签添加到类的定义中去,就可以使用getStyle去获取这个样式的值。在as中也能使用setStyle去给组件设置一个样式。实例代码如下:

//定义代码

[Style(name="borderColor",type="uint",format="Color",inherit="no")]
public class SelfInput extends UIComponent{

public function init():void{

trace(getStyle("borderColor"));

}

}

//使用代码

<myComp:SelfInput borderColor="#000000"/>
分享到:
评论

相关推荐

    flash as3.0 + xml 经典flv视频播放器

    在本文中,我们将深入探讨如何使用Flash AS3.0与XML技术来创建一个经典FLV视频播放器。这种播放器的实现方式具有高度的可定制性和灵活性,使得开发者能够轻松地管理和控制视频内容。 首先,让我们理解每个组件的...

    Flash 使用as3.0组件开发实用书籍、文档

    本资源“Flash 使用as3.0组件开发实用书籍、文档”专注于讲解如何使用AS3.0进行组件开发,这对于想要提升Flash项目功能性和用户体验的开发者来说是非常宝贵的学习资料。 ActionScript 3.0组件开发的核心在于理解和...

    flash as3.0 + xml 经典flv视频播放

    在本文中,我们将深入探讨如何使用Flash AS3.0与XML技术实现经典的FLV视频播放器。这个项目涉及的关键知识点包括ActionScript 3.0编程、XML数据解析以及FLV视频格式的处理。 首先,ActionScript 3.0是Adobe Flash ...

    As3.0 视频加载

    XML文件通常用于传递数据和配置信息,对于AS3.0应用,它可以用于设置项目元数据。 综上所述,这个项目涉及了AS3.0中的视频加载、本地文件选择和保存功能,这些都是创建交互式视频应用的基础。通过这些技术,开发者...

    flash+as3.0贪吃蛇游戏

    【标题】"flash+as3.0贪吃蛇游戏"是一个使用Adobe Flash平台结合ActionScript 3.0编程语言开发的经典游戏项目。Flash是 Adobe 公司推出的一种矢量图形和多媒体播放器,广泛用于创建互动式的网页内容,而AS3.0则是其...

    AS3.0+XML 相册 (自己写的)

    在AS3.0+XML 相册中,XML文件通常用于存储图片的元数据,如图片的URL、标题、描述等。这样,开发者可以通过解析XML文件来动态加载和显示相册中的图片,使得内容的更新和管理变得更加容易。 以下是这个相册实现的...

    As3.0 关机功能

    `power22-app.xml`是Adobe AIR应用程序配置文件,它定义了应用程序的元数据,如版本信息、图标、权限等。在其中,可能有关于执行系统命令的权限声明。 `关机.app`看起来是另一个应用程序文件,可能是针对Mac OS X...

    AS3.0的加载机制

    例如,我们可以监听`Event.COMPLETE`事件来获取关于SWF文件的一些元数据: ```as loadswf.contentLoaderInfo.addEventListener(Event.COMPLETE, loadcom); function loadcom(the:Event):void { trace("AS版本: AS...

    laya as3.0使用box2d实现赛车4轮移动demo

    `TestLaya.laya`可能是项目的主配置文件,包含了Laya项目的元数据。`laya`和`libs`目录可能分别包含了Laya库文件和项目依赖的第三方库。 在源代码文件夹`src`中,开发者会编写所有AS3代码,包括车辆实体类、物理...

    AS3.0外部XML上下翻译效果

    AS3.0是Adobe Flash Professional和Flex Builder等工具使用的编程语言,用于创建富互联网应用程序。它提供了面向对象的特性,包括类、包和接口,使得开发更加高效和模块化。 XML(eXtensible Markup Language)是一...

    塔防游戏程序(as3.0源码)

    而`catalog.xml`则可能是用来管理这些资源的元数据,描述它们的属性、关联的脚本等信息,便于在运行时动态加载和使用。 通过深入研究这个塔防游戏的AS3.0源码,初学者不仅可以掌握基本的游戏编程概念,还能了解到...

    as3.0开发人员必备手册【精】

    AS3.0中的数组是一种非常强大的数据结构,它可以存储任意类型的对象,并且提供了许多有用的方法来操作这些数据。 - **索引数组**:这是最常用的数组类型,其中元素通过索引来访问。 - **关联数组**:也称为哈希表或...

    as3.0 解析mp3文件 得到mp3的作者,专辑等

    在AS3.0中解析MP3文件以获取其元数据,如作者、专辑等信息,是一项常见的任务,尤其是在开发音乐播放器或者音频处理应用时。本文将深入探讨如何使用ActionScript 3.0来实现这一功能,并提供相关源码参考。 MP3文件...

    ActionScript3.0 中文版

    4. 数据类型:AS3.0支持基本数据类型(如int、uint、Number、Boolean、String等),以及复杂类型如Array、Object和XML。强类型系统确保了代码的稳定性和可预测性。 5. 异常处理:通过try、catch和finally语句,...

    ActionScript3.0完全自学手册电子教案_ActionScript3.0_

    9. **高级特性**:深入研究AS3.0的高级特性,如函数重载、静态与动态属性、元数据、类型转换等。 10. **实践项目**:通过实际项目练习,将所学知识应用于实际,如创建互动游戏、数据可视化应用或移动应用。 总之,...

    Axiis_Library.zip_Axiis_as 3.0_flex

    - `.DS_Store`:这是Mac OS X系统中的一种元数据文件,存储了目录的视图信息。 - `.flexLibProperties`:此文件包含了Flex库项目的属性,用于控制构建过程。 - `.project`:这是Eclipse(包括Flex Builder)项目的...

    Flash AS3与JAVASCRIPT通信,读取图片,生成SWC

    - **SWC文件**:SWC是Adobe Flash的库文件格式,用于封装AS3代码、资源和元数据,便于重用和分发。 - **构建过程**:在Flash Professional或Flex Builder等环境中,你可以选择导出库为SWC。将所有相关类和资源添加...

    利用AS3来读取MP3的ID3档案资料

    在本文中,我们将深入探讨如何使用ActionScript 3 (AS3) 来读取MP3文件中的ID3元数据。ID3是音频文件格式,尤其是MP3文件中用于存储歌曲信息的标准,包括艺术家名、歌曲标题、专辑名、歌词等。AS3是Adobe Flex和...

    本地播放器(ActionScript3.0)

    7. **Metadata处理**:读取视频或音频文件的元数据,如长度、分辨率、比特率等。 8. **Buffering机制**:处理网络延迟,确保流畅播放。 9. **Error事件处理**:捕获并处理播放过程中可能出现的错误。 这款本地...

    as3缓动类greensock-as3_Tween

    "catalog.xml" 文件可能包含了关于库组件的元数据,如类名、版本信息等,有助于开发者理解和管理库的组件。 总之,GreenSock AS3 Tween为AS3开发者提供了一套强大的工具,用于创建高质量的动画效果。无论是在Web...

Global site tag (gtag.js) - Google Analytics