Programming Flex2 - 四.ActionScript

翻译 2007年09月13日 00:19:00
在Flex里AS和MXML可以结合使用。MXML主要负责创建UI,AS就负责数据模型和复杂的逻辑。

Flex 2对应AS 3,相比之前的版本。AS3兼容ECMA。支持包括正规化的类,接口,包,运行期异常处理,动态数据类型,映射,正则表达式,E4X(XML),等等。

AS的API分3层
Flash Player API
Flex框架API
自定义API

在Flex中使用AS,有4个地方可以放代码

内联在MXML标签中
分两种情况。一种是数据绑定,局限很大,只能放一句程序。
<mx:VBox>
    <mx:TextInput id="input" />
    <mx:Text id="output" text="{'User input: ' + input.text}" />
</mx:VBox>

还有一种是事件处理,可以放多句程序,不过这样做显然不好。
<mx:Button id="alertButton" label="Show Alert"
    click
="mx.controls.Alert.show('Example');alertButton.x += 40;" />

嵌套在MXML标签中
<mx:Button>
   
<mx:click>
   
<![CDATA[
        mx.controls.Alert.show("Example");
   
]]>
   
</mx:click>
</mx:Button>

在MXML脚本中
<mx:Script>
    
<![CDATA[
    import mx.controls.Alert;
    private function example( ):void {
        Alert.show("Example");
    }
    
]]>
</mx:Script>

或者
<mx:Script source="code.as" />
code.as不一定非要以.as作为扩展名。

在AS类中
一个文件名必须以.as结尾的文本文件。

MXML和AS的相关性
MXML与AS是一脉相承,尽管在语法上大相径庭,但在最终编译期MXML会转成AS。
固所有的MXML代码都可以找到类似的AS代码。
比如:
// 例子1
// MXML
<mx:Button id="Button" />
// AS
var button:Button = new Button();

// 例子2
// MXML
<mx:Button id="button" label="Click" />
// AS
var button:Button = new Button();
button.label 
= "Click";

// 例子3
// MXML
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    
<mx:Button id="Button" />
</mx:Application>
// AS
package ...{
    
import mx.core.Application;
    
import mx.controls.Button;
    
public class Example extends Application ...{
        internal var button:Button;
        
public function Example( ) ...{
            
super( );
            button 
= new Button( );
            addChild(button);
        }
   
    }

}

可以看出MXML比AS程序要来的简单,因为MXML在背后自动完成了很多事情。像初始化,设计布局等等。所以用MXML处理用户视觉要比AS方便,相反在业务逻辑上AS则更胜一筹。

Programming Flex2 - 三.MXML

MXML相当于是Flex在Flash Player上的HTML。从名字上能看出其为一个XML文档。所有的MXML文档分成两种类型。一种是主程序文档,一种是组件文档。主程序文档的根节点必然是,而组件文档...
  • holybozo
  • holybozo
  • 2007年09月09日 18:28
  • 963

Programming Flex2 - 七.UI组件

UI组件的分类按钮类: Button, LinkButton, RadioButton, CheckBox数据类: HSlider, VSlider, NumericStepper, ColorPic...
  • holybozo
  • holybozo
  • 2007年10月02日 14:22
  • 685

Flex2 发现之旅:ActionScript 3 类型转换

ActionScript 2中,类型转换的语法为:type(item),例如下面我们将string转换为Number: var str:String="1";var i:Number=Number(1...
  • BNickcour
  • BNickcour
  • 2008年06月13日 10:11
  • 1730

Programming Flex2 - 二.通过Flex框架建立应用程序

创建项目一个Flex程序最少由一个文件或多达数以百计的文件组成。文件类型如下:MXML    这种文件主要包含程序的可视部分,即样式设计和UI组件。ActionScript类    这种文件是所有自定...
  • holybozo
  • holybozo
  • 2007年09月03日 22:41
  • 1547

Flex学习 ActionScript & mxml

刚刚接触Flex。 先谈谈Flex的什么什么 动手写过的只有两种文件: .mxml文件和.as文件。 接触到的代码也只有两种: 带 Flex应用中最终将会生成一个个.swf文件。我...
  • linghao00
  • linghao00
  • 2012年10月10日 09:10
  • 1381

ActionScript 日期类

ActionScript的Date类真是垃圾,提供了年月日转Date的方法,没提供带时间的转换方法!自己默认的时间又是带日期的。提供的控件也只有年月日。你要别人怎么处理时分秒啊!在网上查了很久后,觉得...
  • h3clikejava
  • h3clikejava
  • 2010年05月30日 11:05
  • 2498

Flex 2.0.1即将发布

Flex2.0.1马上就要发布了,这里先做了介绍 Flex team在休息之前也做了说明 这里是官方发布声明 这里是Flex2的更新页面 这次更新虽然是0.01的更新,但是绝对可以说是很大的更新,主要...
  • lwz7512
  • lwz7512
  • 2007年01月06日 16:40
  • 1412

ActionScript 3.0 学习(一) Array、Vector以及Object学习

相比于C语言、C++等,ActionScript的数据类型较少,但是它拥有几个功能很强大的数据类型,它们有很丰富的表达形式和很灵活的操作方式。以下以一小段代码讲解Array、Vector以及Objec...
  • BoRenLiang
  • BoRenLiang
  • 2015年05月29日 20:24
  • 865

【ActionScript】Flash与网页的交互,ActionScript与JavaScript的交互

Flash是可以轻松与网页交互数据的,不然为何Flash会有这么大的生命力呢?只是这样编程比较麻烦而已,又要调试Flash,然后又要放到服务器上调试。不过这样的方式能够收到很好的效果,Flash强大的...
  • yongh701
  • yongh701
  • 2015年06月25日 09:13
  • 3523

ActionScript运算符详解

 ● 运算符详解 ● 1、算术运算符: - 取负 -expression + 加 expression1 + expression2 - 减 expression1 - expression2 * 乘...
  • xxyakoo
  • xxyakoo
  • 2008年10月13日 21:15
  • 1164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Programming Flex2 - 四.ActionScript
举报原因:
原因补充:

(最多只允许输入30个字)