`

v2_09 介绍ActionScript类编程

    博客分类:
  • flex
阅读更多
v2_09 Programming ActionScript classes  介绍ActionScript类编程
 
ex2_07
 
 很多教程中讲到的跟java类似的概念及写法就不写出来了
 
Mxml与ActionScript的数据绑定,需要在声明实例时带上Bindable
 Bindable 可以写在Class上面,以表明所有字段都是可以绑定的
[Bindable] 
public class Employee

 
但要注意的是,不建议使用全部绑定,因为这样会消耗更多的资源,系统会监控所有字段是否发生变化
所以,应该尽量在需要绑定的数据上进行绑定
 
试试ctrl+shift+c的效果,进行块注释
 
例子:
开始时,EmployeeDisplay.mxml中定义了两个属性
[Bindable] 
public var imageFile:String;
[Bindable]
public var fullName:String; 
  
在引用时,需要绑定两个这两个属性
<components:EmployeeDisplay x="10" y="41" 
imageFile="{firstEmployee.imageFile}" 
fullName="Andrew Brilliam"/>
<components:EmployeeDisplay x="105" y="41"
imageFile="{secondEmployee.imageFile}" 
fullName="Annette Kotter"/> 
  
既然有了Employee对象,那我们就使用这上类来绑定数据
让EmployeeDisplay.mxml持有employee对象
 
该例子最终的效果就是
EmployeeDisplay.mxml作为employee的显示组件,持有employee对象
主程序将从服务端获得的数据绑定到EmployeeDisplay
employee的类型Employee,它有属性及方法两部分.可以自由实现业务逻辑
EmployeeDisplay.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx">
	
    <!-- Properties of the parent ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- Script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    <fx:Script>
        <![CDATA[
            
            // import statements ----------------------------------------
            
            import components.Employee;
            // variable declarations ------------------------------------
            
            [Bindable]
            public var employeeData:Employee;
            
            // getter/setters -------------------------------------------
            
            
            // helper methods -------------------------------------------
            
            
            // event handlers -------------------------------------------
                  
        ]]>
    </fx:Script>
    
    <!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- UI components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    <mx:Image x="0" y="0" 
        source="images/{employeeData.imageFile}" />
    
    <s:Label x="0" y="80" 
        text="{employeeData.createFullName()}"/>
    
</s:Group>
 
Employee.as
 
package components
{
    public class Employee
    {
        [Bindable]
        public var imageFile:String;
        public var firstName:String;
        public var lastName:String;
        
        public function Employee(fileName:String, fName:String, lName:String)
        {
            imageFile = fileName;
            firstName = fName;
            lastName = lName;
        }
        
        public function createFullName():String
        {
            return firstName + " " + lastName;
        }
    }
}
 
ex2_07_solution.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" 
    minWidth="1024" minHeight="768" 
    xmlns:components="components.*">
	
    <!-- Exercise 2.07: Creating an ActionScript class and instances -->
    
    <!-- Properties of the parent ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- Script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    <fx:Script>
        <![CDATA[
            import components.Employee;
            
            [Bindable]
            private var firstEmployee:Employee = new Employee("abrilliam.jpg","Andrew","Brilliam");
            
            [Bindable]
            private var secondEmployee:Employee = new Employee("akotter.jpg","Annette","Kotter");
        ]]>
    </fx:Script>
    
    <!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    
    
    <!-- UI components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    
    <s:Label x="10" y="10" 
        text="Employees" 
        fontWeight="bold" fontSize="20"/>
    
    <components:EmployeeDisplay  x="10" y="41"
        employeeData="{firstEmployee}"/>
    
    <components:EmployeeDisplay x="105" y="41"
        employeeData="{secondEmployee}"/>

</s:Application>
 
分享到:
评论

相关推荐

    FLASH游戏编程 (小游戏)

    ### 一、Flash游戏编程基础 **1.1 重力模拟** 在Flash游戏编程中,模拟重力是非常常见的一种做法,可以为游戏角色或物体添加真实世界的物理特性。例如,可以通过设置变量`ymov`来表示物体的垂直速度,并通过`...

    ActionScript3.0 Cookbook 学习笔记

    AS3引入了更现代、面向对象的编程结构,这包括使用`package`关键字来组织类和代码。`package`允许开发者将相关的类和接口分组到命名空间中,以避免全局命名冲突,并提高代码的可读性和可维护性。 #### 代码示例: ...

    FlashDen Photo Inertia Gallery V2

    Flash基于矢量图形,这意味着它可以流畅地缩放而不失真,同时支持音频、视频和ActionScript编程语言,这使得它具有高度的交互性。在Web 2.0时代,Flash是实现动态网页和丰富互联网应用(RIA)的关键技术。 **Photo ...

    objecthandles v2

    两者都支持ActionScript编程语言,这使得ObjectHandles v2 可以无缝集成到这些项目中。 使用ObjectHandles v2 的开发者可以享受到以下主要特点: 1. **拖放功能**:通过简单的配置,开发者可以快速为任何显示对象...

    KitchenSync v2[1].0.1

    为了在项目中使用KitchenSync,开发者需要将其导入到ActionScript环境中,并通过其API进行编程。这通常涉及创建时间线对象、添加动画、设置时间和触发事件等步骤。具体的代码示例和教程可以在KitchenSync的官方文档...

    as3+php 抽奖 滚动抽奖v2版本

    ActionScript 3(AS3)是Flash平台上用于创建交互式内容的编程语言。在抽奖系统中,AS3主要用于控制用户界面,包括按钮交互、动画效果、以及与服务器的数据通信。例如,当用户点击“开始抽奖”按钮时,AS3会发送请求...

    Flash开车的游戏

    在Flash游戏中,开发者通常会使用ActionScript(Flash的编程语言)来处理用户输入,实现游戏逻辑。源码的存在意味着我们可以查看并学习到这个游戏是如何通过编程实现这些功能的。同时,“有源码和解释”意味着除了...

    飘动的音符flash动画

    它涉及到ActionScript编程、图形设计以及多媒体集成等IT技术,这些技能对于现代网页开发者和数字媒体艺术家来说都是至关重要的。通过深入理解并实践这些技术,可以创造出更加引人入胜的用户体验。

    flash水波制作器v2·3绿色汉化版

    在Flash中,通常通过ActionScript(AS)编程来实现动态效果,如水波。AS是Flash内置的脚本语言,用于控制动画的行为和交互。水波效果通常涉及到图形的扭曲和变形,这需要对图形进行实时计算。Flash水波制作器v2.3...

    FLASH AS3正方体动画

    在Flash AS3编程中,创建正方体动画是一项基础但重要的技能,这涉及到ActionScript 3.0(AS3)的图形绘制、动画原理以及事件处理等知识点。下面将详细阐述这些内容。 首先,让我们从AS3的基础开始。AS3是Flash ...

    pano2VR二次开发接口(API)相关说明

    Pano2VR 二次开发接口(API)相关说明 Pano2VR 二次开发接口(API)是 Garden Gnome Software 开发的一款专业的全景图编辑软件,用于创建交互式...但是,需要具备相应的编程经验和开发技能,才能充分发挥 API 的潜力。

    pv3d 3d model parser code

    在3D图形编程领域,模型解析是至关重要的一环,它涉及到将各种3D建模软件创建的文件格式转换为可在游戏中或应用程序中使用的对象。PV3D(PaperVision3D)是一款流行的动作脚本3(ActionScript 3)库,用于在Adobe ...

    Flash菜单制作

    3. **添加交互性**:通过ActionScript编程赋予菜单按钮动作。ActionScript是Flash中的脚本语言,用来控制对象的行为,如响应鼠标点击、播放动画等。 4. **动画制作**:为菜单项添加过渡效果和动画。Flash的时间轴...

    FLEX上传文件,flex upload

    另一个文件“SWFUpload v2[1].2.0.1 Core.zip”很可能包含了SWFUpload的核心库文件,包括SWF文件和相关的ActionScript类。这些核心组件是实现文件上传功能的基础,它们提供了与浏览器和服务器进行通信的必要接口。 ...

    flash图片特效制作banner焦点图片3D立体展示效果

    它涵盖了Flash ActionScript编程、3D动画技术、XML数据处理和网页集成等多个IT领域的知识点。这样的Banner既满足了视觉上的创新需求,也提供了良好的用户体验。对于想要学习和提升Flash开发技能的IT从业者来说,这是...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6+iBatis2.3.4

    Flex3支持ActionScript3编程语言和MXML标记语言,提供图形用户界面组件库,允许开发者创建交互性强、视觉效果丰富的界面。 2. **BlazeDS3.2** 是一个开源的数据服务层,它允许Flex客户端与Java后端进行通信。...

    开源框架Robotlegs

    Robotlegs是一个开源框架,主要用于ActionScript语言的MVCS(Model-View-Controller-Service)架构模式,用于创建Flex和AIR等Adobe Flash平台应用。Robotlegs具备灵活的结构和松耦合的设计,使其成为面向对象编程和...

    flex基础语法

    Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript语言,提供了强大的用户界面组件和布局管理能力。本文将详细介绍Flex的基本语法,包括变量定义、循环结构以及函数的使用。 1. **变量定义**:...

    闪灵Flash模板

    同时,Flash模板可能还包含了ActionScript代码,这是一种基于ECMAScript的编程语言,用于控制Flash对象的行为和交互。 在压缩包中的“v2免费版”文件,很可能是这个闪灵Flash模板的最新免费版本。这个版本可能提供...

    仿新浪科技频道首页翻牌式Flash广告样式

    翻牌式广告通常指的是广告内容以卡片翻转的效果展现,这种效果通过Flash的ActionScript编程实现,可以模拟真实世界中的物体翻转,增强视觉吸引力。它不仅可以展示广告内容,还可以通过翻转动作引导用户进行交互,...

Global site tag (gtag.js) - Google Analytics