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则更胜一筹。

【转】深入浅出Flex组件生命周期Part2 ─ 使用ActionScript3开发移动Spark组件的皮肤类

原文地址:http://www.donglongfei.com/2011/07/actionscript-3-customize-mobile-spark-component-part2/ ...
  • mnorst
  • mnorst
  • 2011年09月01日 11:29
  • 1319

使用FLEX 和 Actionscript 开发FLASH 游戏2

使用FLEX 和 Actionscript开发FLASH 游戏—双缓冲绘制“使用FLEX开发游戏”系列之二写自Matthew Casperson Casperson2008年10月31日出版在本系列的...

ActionScript3.0/Flex2中的反射

ActionScript3.0/Flex2中的反射 在ActionScript 3中,你会发现在flash.utils包中有一系列函数提供了反射的功能。主要包含以下功能:     * 确定对象...

使用FLEX和 Actionscript 开发FLASH游戏(四)-1

使用FLEX和Actionscript开发FLASH 游戏-使用输入和动态背景  在本系列第三部分我们最终得以在屏幕上画一些图形。在第四部分我们将多画图形而且使得游戏对象呈现交互性。我们还将生成一个背...

用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件

用仿ActionScript的语法来编写html5——终篇,LegendForHtml5Programming1.0开源库件终篇,LegendForHtml5Programming1.0开源库件此贴为...

Java与Flex学习笔记(6)----Java对象与ActionScript对象之间的序列化

在学习了Java与Flex通信后,我们只是打通了Java与Flex通信的这条路。可是我们在Flex前端交互的信息是怎么传递给Java的呢?而Java为什么可以顺利的处理这些信息?这就是Java对象与A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Programming Flex2 - 四.ActionScript
举报原因:
原因补充:

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