江西广告网

标题: Flash MX 2004新特性实例(1) [打印本页]

作者: 有谁是你    时间: 2009-4-13 11:41
标题: Flash MX 2004新特性实例(1)
实例一、Accessible Applications   一、涉及特性   这个实例主要涉及新增组件的应用,以及对组件的编程。在2004中,组件分为Data、Media、UI三大类别。让人惊喜的是在UI类别中差不多已经包括了制作WEB应用所需要的所有组件,以后用Flash制作网页再也不麻烦了。而且通过编程可以对组件进行灵活、全面的控制。   二、制作过程   1. 按“Ctrl F8”新建一个Symbol,类型为“Movie Clip”,命名为“display”。将一个“Label”组件拖到此Symbol的场景中,命名为“label”。将此Symbol拖到场景中,命名为“display”。   2. 将一个“List”组件拖到场景中,命名为“colorList”,在“label”属性中增加内容“Green”、“Blue”、“Brown”、“Red”、“Orange”、“Purple”。   3. 将两个“Text Input”组件拖到场景中,分别命名为“usernameInput” 和“passwordInput”,并设置第二个的属性中的“password”为true。   4. 将一个“Button”组件拖到场景中,命名为“submitButton”,设置“Label”属性为“Submit”。   5. 将两个“Radio Button”组件拖到场景中,分别命名为“radio_single”和“radio_multiple”,设置“Label”属性为“Single Selection”和“Multiple Selection”。   6. 将四个“Label”组件拖到场景中,分别命名为“caption”、“username_label”、“password_label”、“select_label”。分别设置“Text”属性为“Please enter your name”、“First Name:”、“Last Name:”、“Please choose an item:”。   7. 按“Ctrl F8”新建一个Symbol,类型为“Movie Clip”,命名为“arrow_mc”。在此Symbol的场景中绘制一个箭头。将此Symbol拖到场景中,命名为“arrow_mc”。调整场景中的Symbol的布局如图所示。

登录/注册后可看大图
8. 在主场景的时间轴上增加一个层,命名为“Action”,在此层的Action面板上增加代码如下:      //注释1   /* Copyright 2003 Macromedia, Inc. All rights reserved.   The following is Sample Code and is subject to all restrictions   on such code as contained in the End User License Agreement   accompanying this product.   */   //注释2   display.onEnterFrame = function () {   if (Selection.getFocus() != null) {   var mcfocus:MovieClip;   var mcloc:Object = {x:0, y:0};   // Get the object that's in focus   mcfocus = eval(Selection.getFocus());   // Set the label   this.label.text = mcfocus;   // Get the location of the object in global coordinates   mcloc = {x:mcfocus._x, y:mcfocus._y};   mcfocus._parent.localToGlobal(mcloc);   //注释3   // Move the arrow to point to it   this._parent.arrow_mc._x = mcloc.x;   this._parent.arrow_mc._y = mcloc.y;   } else {   //注释4   label.text = "There is no object in focus.";   this._parent.arrow_mc._x = 0;   this._parent.arrow_mc._y = 0;   }   }   //注释5   function onClick (evt) {   if (evt.target.selectedRadio == radio_single) {   colorList.multipleSelection = false;   } else {   colorList.multipleSelection = true;   }   }   //注释6   radioGroup.addEventListener("click", onClick);   radio_single.selected = true;   2004中的Action跟MX的Action有很大的区别,所以尽量详细的解释。      注释1:是版权信息,实例的来源是在Flash MX 2004的帮助文件中,所以保留这样的版权信息。     注释2:这个函数是根据鼠标选定的组件来更改在Display中显示的内容。     注释3:将箭头移动到鼠标选定的组件附近。     注释4:鼠标没有选定如何组件,将箭头放在左上角。     注释5:是Radio Button的侦听函数,根据选定的Radio Button设置List组件中的属性。     注释6:为两个Radio Button组件增加“click”的事件侦听,侦听函数为“OnClick”,并设置默认选择的Radio Button为单选。   三、实际用途   这个实例主要涉及的是UI组件和对组件的编程。UI组件的用途主要是在WEB方面,比如在用Flash制作网页中的表单时,丰富的组件和灵活的控制会让工作变得非常轻松。而




欢迎光临 江西广告网 (http://bbs.jxadw.com/) Powered by Discuz! X3.2