egoldy Flashblog
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/archive.php?id=2734 存档链接: https://web.archive.org/web/20041205051431id_/http://www.blogbus.com:80/blogbus/blog/archive.php?id=2734
egoldy Flashblog 2004/02/01 到 2004/02/29 FLASH is my life. Flashmx2004系列教程〈三〉ActionScript 2.0--THIS的范围
2004-02-28 17:54 关键词THIS是可以任意使用的一个关键字,您可能也清楚它的使用,但是当一个局部变量和一个类的属性共用一个名称时。如果你要指定类的属性则必须要用this.下面的例子就说明这个问题。 1。新建一个FLASH文档,选择ActionScript文件,如下: 2。将你的文件另存在你在的工作目录中名为scopetest.as.就象我们之前提到过的一样,要将你的类名称和你的文件名保持一致。 3。输入如下代码: class ScopeTest { private var myVar:String = "I am the class property!"; public function doTest(Void):Void { var myVar:String = "I am the local variable!"; trace ("myVar = " + myVar); trace ("this.myVar = " + this.myVar); } } 4。保存你的文件 5。创建一个新FLASH文档,将其另存为ScopeTest.fla文件,且确保和你的类文件 在同一目录下。 6。在第一帧上输入如下代码: var myTest:ScopeTest = new ScopeTest(); myTest.doTest(); 7。测试你影片 Post by egoldy @ 17:54 Flashmx2004系列教程〈三〉ActionScript 2.0-针对OOP的关键字和特性
2004-02-28 16:43 下面我们将真正研究一下AS2的特性,在早期往往是在讨论AS1复杂的面向对象编程比实际工作更多一些,现在你将很快的看到,你不用花很多时间去争论怎么样做到最好的继承,将代码放置在哪和如何组织好你的代码库。 让我们先回顾一下OOP基础,OOP的最基本单元是对象,它包含两部分:代码和数据。由于对象是一种以自己自足的形式出现,因此它的数据和代码(方法)不需要公开。就象一个黑盒子,对象负责以自身的方法去管理自身的数据,对象与对象之间通过传递信息通讯。这些信息以公用或公开的方式传递和接收。而内部的数据和方法并没有直接参与其中,这就是OOP的基本原理。 在OOP的设计中,比做是一张大图,要想到重点和要实现的目标,以及各个部分之间的联系。将这张大图分成小的单元,并且保证各自的自身独立性,那么整个项目就很容易完成。而这些小的单元在OOP中就被称为类。所有这些AS2都提供了很好的支持。 下面这些关键字与OOP有关: class interface extends implements public private static dynamic import get set intrinsic 我们不在重复mcromedia的帮助文档中对每一关键字的描述,我们可以用实例来说明。注意关键字intrinsic是mcromedia内部使用的关键字。这里面没package也就包的关键字,但是它与类路径的工作方式是很重要的,就象是其它语言中的包一样,如JAVA。 下面我们来看一下例子,在AS1中的类,将其改写为AS2的类。 // 构造函数 _global.Parent = function(name) { this.init.apply(this, arguments); }; // 类的属性 Parent.lastNames = new Array(); Parent.prototype.init = function(name) { this.lName = name; Parent.lastNames.push(name); this.id = Parent.lastNames.length-1; trace("Added '"+ Parent.lastNames[this.id] +"' at: "+ this.id); }; Parent.prototype.getLastName = function() { return (this.lName); }; Parent.prototype.setLastName = function(s) { this.lName = s; Parent.lastNames[this.id] = s; }; Parent.prototype.getNames = function() { return (Parent.lastNames); }; Parent.prototype.addProperty("lastName", Parent.prototype.getLastName, Parent.prototype.setLastName); Parent.prototype.addProperty("names", Parent.prototype.getNames, null); 上面的代码改写为AS2就向下面这样: 新的关键字被应用在如下的例子中:class, private, public, static, get, set class Parent { private var lName:String = ""; private var id:Number; private static var lastNames:Array = new Array(); // 构造函数 public function Parent(name:String) { init.apply(this, arguments); } private function init(name:String):Void { lName = name; lastNames.push(name); id = lastNames.length-1; trace("Added '"+ lastNames[id] +"' at: " + id); } public function get lastName():String { return lName; } public function set lastName(s:String):Void { lName = s; lastNames[id] = s; } public function get names():Array { return lastNames; } } 通过上面的AS1和AS2执行同一个类。我们可以看出二者非常的相似,主要的不同以AS2为例: 1。以外部文件的形式存在如.as,同时注意类的名称要与外部文件名称相同。 2。AS2区分大小写,在AS2中object 和 Object是不同的。 3。类的方法定义在类的内部。 4。类的内部不在允许有内部类出现。 5。关键字如public,private,static等写在类方法或属性的前面。 6。数据类型写在方法或属性名称的后面如:name:string; 7.创建get|set方法更容易使用如下方法:[modifier] function get|set functionName(argument[:type,...])[:type] {} Post by egoldy @ 16:43 喜欢FLASH动画和设计的朋友可以看一看
2004-02-27 16:23 http://www.microbians.com/oldnews/news2001.htm http://www.microbians.com/oldnews/news2002.htm http://www.cocoe.com/ Post by egoldy @ 16:23 WEBSERVICE 方法
2004-02-26 09:11 如果你正在进行webservice 编程,你会喜欢这些的. http://www.dev1.eraserver.net/DEBREUIL/Obfuscate.asmx http://www.webservicex.net/WS/default.aspx http://www.xmethods.com/ Post by egoldy @ 09:11 老外作的一个桌上弹球游戏
2004-02-25 21:36 FLASHMX204作品 http://www.extrajetzt.de/demo/pinball/ 用左右光标键操作 Post by egoldy @ 21:36 韩国的一个游乐场站点
2004-02-25 08:53 站点应用了许多三维人物 http://www.yosain.co.kr Post by egoldy @ 08:53 时尚酷站
2004-02-25 08:44 http://www.toniandguy.ie Post by egoldy @ 08:44 一个新像素资源
2004-02-24 09:29 国外的一个新的像素资源网站.上面有一些免费的像素字体,只要将你的邮件加入它的邮件列表,你就可以下载它的一些免费的像素字了,如果你肯花钱,会得到更多更梏的字体. ultrafonts Post by egoldy @ 09:29 Flashmx2004系列教程〈三〉ActionScript 2.0-AS2.0中的新特性
2004-02-23 22:30 AS2中的新特性 AS2实际上不是一种新的语言,它是在AS1基础上的升级,如果你基本上掌握了AS1编程,那么学习它应是很容易的。接下来让我们看一下AS2所提供的新东西。 .严格的数据类型和编译提示。 .以数据类型为基础的代码提示。 .针对OOP的新的关键字和特性。 class Interface extends implements public private static dynamic intrinsic import class path get set 下面就让我看一下以上这些每一项都有什么新特点。 严格的数据类型 在比较专业编程语言中,表达是依靠数据类型的。它给我们的具大的好处是: 它可以帮助编译器发现潜在的问题,获取类型不配的错误信息。它可以使你的代码清晰易读。 在AS1中声明一个变量如count的过程如下: var count; 在AS2中声明的过程应是这样。 var count:Number; 注意,它的语法结构是:<变量>:<数据类型>,这对许多java,c#,c++的程序员来说可能认为有些怪,这实际上是ECMA-262协会制定的规定,macromedia公司是按照这个规定做的而已。 AS2的变量,函数以及返回值都支持严格的数据类型,如下例函数接收字符串参数返回一个布尔值。 function func(arg:String):Boolean{}; 当一个函数在没有接收到参数和返回任何值时,使有Void做为数据类型。 function func(arg:Void):Void{}; 这种参数被写空的形式看起来有些怪,但这种用法却被大量的应用在组件的编写上,它只意味着当前没有指定的参数。然而如果你试着将参数传给这个函数,编译器在编译时是不会出现任何的错误提示同时也会将参数进行传递的。 尽管AS2支持严格的数据类型,却并没有被真正的执行这种语法,可是当编译器发现有数据类型不配的情况时就会出现错误提示信息,使用严格的数据来进行编程是一个好的开始习惯。它的好处我们在上面已经说过。如果你使用严格的数据类型来编程,那么你在发布时应指定使用AS2,并且指定发布为FLASH PLAYER 7。 使用严格的数据类型,新的编译器为你提供的了许多新的编译提示阻止你的影片出现类型不配的错误,但在编译过程中可能要花去较长的时间调试。 代码提示 在FALSHMX中的代码提示是依据变量名称的扩展如myPushButton_pb,mycomboBox_cb中的_pb,_cb来出现代码提示的,在2004中你会发现大多数的变量扩展不在生效,新版本的AS2以不同的约定型式来出现代码提示。 当一个变量类型被指定(如果这个变量类型对这个类是有效的)方法和属性的代码提示会在点的后面出现,否则是不会出现任何代码提示的。通过指定的数据类型来显示comboBox的代码提示如: var combo:mx.controls.comboBox; combo. 你可以通过打开如下文件查看默认的扩展代码提示如: <language>\First Run\ActionsPanel\AsCodeHints.xml 小提示:在2004中加入FLASHMX的代码提示 如果你使用2004来编辑你的FLASHMX文档,你可以将部分的FLASHMX代码提示加入到2004的代码提示中。 复制<language>\First Run\ActionsPanel\CustomActions\UIComponents.xml,中的 这一段到Flash MX 2004's UIComponents.xml文件的结束标记之前,同样将这一段复制到2004的AsCodeHints.xml文件的 之间注意多余的标记要删除。 现在你就可以在2004中使用FLASHMX的组件代码提示了。 Post by egoldy @ 22:30 FLASH SHOPPING SYSTEM购物和购物界面
2004-02-23 09:12 有兴趣的大家可以看一下这个系统,用FLASH做的SHOPPING购物,还有各种皮肤 点击 这里 Post by egoldy @ 09:12 Flashmx2004系列教程〈三〉ActionScript 2.0-AS1.0中的一点点面向对象编程
2004-02-22 21:54 AS1中的一点点面向对象编程 在 我们转移到AS2之前先让我了解一下在AS1时的面向对象的编程。这一节对于在FLASH5和FLASHMX不太了解面向对编程的人来说很重要。如果你已经很了解这些可以直接跳过此节。 尽管AS1不是真正的面向对象的编程语言,开发人员已经在有些时候使用它进行面向对象的编程了。AS1中的任何东西都是依靠原型链也就是对象之间的联系。所以在AS1中使用面向对象需要了解原型链(或者是原型的关键字)。 AS1的类就象是规则的函数。方法附加在这个的类的原型上。例如: // Wizard class function Wizard() { } // help()方法附加在WIZARD函数的原型上。 Wizard. prototype .help = function () { }; 如果我们把help()直接放在wizard class类中。FLASH在查找属性和方法时就不会 找到它,因为FLASH在查找是沿着原型链进行搜索的。而在为所有的Wizard类创建 一个实例copy. 下面就是为每个实例创建的copy. function Wizard(){ this.help=function(){ } } 对于java,c#的程序员来说。这样的将方法代码放在类中会看来很熟悉,然而为了代码的可重用性 我们还是应将方法附加在类的原型链上。 在下面的例子中假如我们针对一个类上有两个方法,一个是附加在原型链上,另一个是直接放在类中, flash将先获得内部方法。 // AS1_OOP_01.fla function TestClass() { this.method = function () { trace(" Internal method "); }; this.prop = ">>> Internal prop "; } // Attach a method to the prototype object of the class TestClass. prototype .method = function () { trace(" Prototype method "); }; TestClass. prototype .prop = "
Prototype prop "; // Create an instance of the TestClass class var w = new TestClass (); // Internal method is located before the prototype method w.method(); // Replace the Internal method w.method = function () { trace(" New method "); }; w.method(); // Delete the Internal method delete w.method; // The only method remaining is the prototype method w.method(); // Test the properties trace(w.prop); w.prop = " New prop "; trace(w.prop); delete w.prop; trace(w.prop); 上面的例子的输出内容为: 从上面这个例子我们可以看出在使用AS1面向对向对于初学者来说是极易混淆的。其中知道将代码 写在什么位是很重要的,因为它可能经常出现意想不到的结果,正如在商业上有一句流行的话是: 但是等等,还有更多。。。。 Post by egoldy @ 21:54 Flashmx2004系列教程〈三〉ActionScript 2.0-简介
2004-02-22 21:27 随着FLASHMX2004的推出,Macromedia公司推出了一种新的脚本类型称为as2,在要教程中我们将要了解AS2的新特性。新的面向对象的模型以及如何使AS1的脚本过度到AS2。 为什么我们需要一种新的脚本语言。 如果你只是做一些简单的动画是不需要用一种新的脚本语言的,其实有许多项目是不需要脚本语言的。如果你真的不需要使用脚本语言那这个教程将是一个很短的教程,现在你就可以结束了。:) 如果你是一名开发人员,在开发一些比较复杂的项目,那么AS1就显得有些力不从心,或者不能胜任。对于使用主流语言如java,c++,c#开发程序的程序员来说AS1是很怪的。他们是要走一些弯路来学习AS1特别是在面向对象编程时。 在as2中这些程序员将发现许多熟知的语法,AS2象JAVA。JSCRIPT.NET和javascript 2.0的程序员将感觉更好,因为AS2的语言基础来自于ECMASCRIPT EDITION 4.AS2可以使程序员写出更健状的程序,也可以吸引更多的程序员来学习FLASH。 好,你可能并不开发程序,那你喜欢开发游戏吗。或者是开发交互式的展示。好消息是AS2为我们开发这些提供了很有力的支持。 如果你对学习AS2没有兴趣,也不用担心。因为macromedia保留了AS1语法。你只是不能掌握这种语言的新特性而已。实际上在最后的编译过程中AS2和AS1都将被编译为相同的bytescode。这么做的原因大多是为了兼容FLASH6。ok.下面我们将继续学习。 Post by egoldy @ 21:27 法国hybride网站。
2004-02-22 16:41 点击 这里 Post by egoldy @ 16:41 Flashmx2004系列教程〈二〉UI组件-Accordion Component
2004-02-21 11:43 Accordion Component组件有些类似于TAB标签的性质。在下面的例子中你将看到如何用此组件将form组合起来,而不需要作何程序。 1。新建一个flash form Application.表单程序如下图所示。 2。使用下图做为参照完成如下的布局。 3。使用如下图如示的加号先后加入三个表单名称默认为form1,form2,form3. 4.单击左侧的最上方的应用程序图示。选中它。 5。将其层重命名为Accordion Component. 6.从组件库中拖动一个accordion组件至场景中,打开属性面板设置它的参数。childLabels决定FORM的标题名称。childName属性决定内容剪辑的实例名称。childSymbols是决定哪些form要载入到内容剪辑中的。 7。在每个form中放入一个静态文本,如本例中分别为form1,form2,form3.只接输入即可。要想做这些你只要在左边选中form,然后放入文本框在里面写字就可以的。 8。确认所有的form的visible属性为false.在属性面板进行设置。 9。测试你的影片。 Post by egoldy @ 11:43 Flashmx2004系列教程〈二〉UI组件-Tree Component
2004-02-20 21:42 The Tree Component组件允许你显示一个树状结构的导航,而且可以是图形化的。其实你已经很了解它了,因为它和我们经常使用的资源管理器是十分相似的。 1。创建一个400*200大小的新的FLASH文件,使用下列的图示做为参照进行布局。 2.创建两个新分层,从上到下分别将新层命名为:action,tree component,text area component. 3.选择tree component层的第一帧。从组件库中将tree component拖放到层中打开属性面板将其宽设为172高设为180。并且将其实例名命名为myTree. 4. 选择text area component层上第一帧,从组件库中将text area component组件拖至此层上,打开属性面板,将其宽设为188高设为180,并将其实例名命名为myStatusArea.设置其html属性为true.因为我们要将它的内容显示为html格式。同时要将它的换行属性设为true. 5.使用记事本找开你下载的xml文件tree_source.xml来观看它的结构。观看它是如何包括文件目录以及一些未包括的文档。
submitButton.addEventListener("click",submitButtonListener); 13.编辑submitButtonListener的侦听事件放入到我们上边空出的区域。 //侦听click事件 submitButtonListener.click = function () { //当用户点击提交按钮时先要显示的内容。 INITIAL_MESSAGE_STR = "You are"; var msg = INITIAL_MESSAGE_STR;
// 用于连接的字符 AND_STR = " and";
//在form中搜索复选框 for (var i in myForm) { var currentFormItem = myForm [ i ]; //设置当前复选框的变量 if (currentFormItem.group == GROUP_NAME_STR ) { //检测是否被选中 var isChecked = currentFormItem.selected;
if ( isChecked ) { //加入当前要显示的内容 msg += currentFormItem.label + AND_STR; } } }
//检查文本域中的内容是否与初始内容相同如果相同说明没有被选过,提示相 //关信息 if ( msg == INITIAL_MESSAGE_STR ) { msg += " not one to click checkboxes, it appears!"; } else { //移除多余的“and" var numLettersToRemove = AND_STR.length; var msgLength = msg.length; msg = msg.substring ( 0, msgLength - numLettersToRemove );
// don't forget the trusty full-stop. msg += "."; }
// change the text in the TextArea component at the top // to the message we just created statusMessage.text = msg; } 14.测试你的影片 ++++++++++++++++++++++++++++++++++++++++++++++++ 源文件 下载 Post by egoldy @ 17:48 Flashmx2004系列教程〈二〉UI组件-Alert compoents
2004-02-06 22:15 源文件 下载 当我们操作有误时,经常看见一些无故弹出的小窗口,我们称之为提示对话框。2004提供了一个组件用来处理提示对话框,但是有时他又是必须。比如当用户在你的文本域中输入了不合法的字符时。这时就是通知用户办输入正确的字符。那么提示对话框的设计便是格外有用的。就让我们看一下如何使用对话框组件。 1。首先让我们以范例文件开始。仍然使用我的上一次BUTTON按钮组件的例子。如果你已经关闭。可以重新找开或重新下载。 2。将Alert组件拖至场景中。你不用关心它放在哪,因为我们只要想将它放在库中。稍候我们将要将它删除。 3。删除你刚拖入场景的Alert组件。 4。那么Alert组件不在场景中,我们怎么样去使用它呢很简单,它完全是用代码控制的。编辑第一帧的代码。使之当我们单击按钮的时候出现提示框。 // 载入ALERT类 import mx.controls.Alert; // 创建按钮组件的侦听器 myButtonListener = new Object(); // 创建侦听事件以侦听按钮的单击事件 myButtonListener.click = function () { // 显示提示框
// 第一行是窗口内容。 // 第二行是标题 // 显示两个按钮,NO和CANCEL // NO 按钮设为当前状态 Alert.show ( "Oh no, you did something terrible. The sky is going to fall on your head!", "Very Bad Error", Alert.NO | Alert.CANCEL, _root, alertHandler, Alert.NO ); } // 注册侦听器 myButton.addEventListener("click", myButtonListener ); // 创建alerthandler的方法用于返回点击按钮后所返回的状态 alertHandler = function ( theEvent ) { // check which button the user pressed if (theEvent.detail == Alert.NO) { // no button trace ("No? What do you mean, "no?""); } else if (theEvent.detail == Alert.CANCEL) { // cancel button trace ("Hey! Who said you could cancel?"); } } 5。测试你的影片。 源文件 下载 Post by egoldy @ 22:15 使用AS 做的FLASHINTRO
2004-02-05 10:00 为客户做的一个小东东. Post by egoldy @ 10:00 Flashjester 工具软件V2版
2004-02-03 08:53 功能强大的FLASHJESTER工具v2版正在发售 |-> JMapi: Your E-mail Extender | |-> JMovie: Your Movie Projector | |-> JShapor: Your "Get Out of the Box" JTool | |-> JSave: Your Text Save-iour | |-> JPrintor: Your Projector Printor | |-> JAvi: Your Custom Avi Player | |-> JStart: Your Exec Command Enhancer | |-> JNet Check: Your Connection Checker | |-> JWeb: Your Web Link Wonder | |-> JEmail 详情查看官方网站: 标准版 http://flashjester.com/index.html pro v2 版 http://www.flashjester.com/?section=tricks_jugglor2 Post by egoldy @ 08:53 FLASH图像导览
2004-02-03 02:22 中文版: 点击此查看 网页形式的动画 。图片可见 。 Post by egoldy @ 02:22 Flashmx2004系列教程〈二〉UI组件-button compoents
2004-02-01 21:54 01. 版本1.0组件与版本2.0组件的区别 你现在一定已经听说过FLASHMX2004的组件有一个新的结构与MX不同(如果你还没听说过你可以先查看FLASHMX2004系列教程<一>―基础)2004发布了21个Ui组件,有许多与以前的看起来相似,还有一些是新增加的。在这篇教程中我们将介绍每个组件的具体用法。 除此之外还有媒体组件和数据连接组件。这两部分会在后面的文章相继介绍。 虽然每个组件都有个自的属性和方法。但从AS2结构出发都有共同特点。与版本1在结构上只有一些小的不同。 在组件结构上最大的不同是事件模式。在版本1中是通过使用setClickHandler()来调动函数控制事件,而在版本2.0中全部使用你事先分别指定的广播事件。 另一大不同就是在组件的外观上。我们会在单独的教程中介绍它的用法。 要想学好组件,最好的办法就是使用它。那就快随我们一起看看是组件是如何工作的。 02. Button componets 按钮组件 在所有组件中.按钮组件可能是最简单的组件了.从FLASHMX开始它走过一段较长的路.现在它不是使用setClickHandler()函数通过属性面板来定义CLIK事件.取代它的是我们需要一个Listener Objet侦听对象,使用addEventListener 方式注册一个侦听对象以用来侦听click事件.下面的示例中我们将展示如何应用.它看起来实际上比听着更简单. 1.新建一个文件CTRL+NEW--->FLASH文档 2.将button组件拖至场景中. 3.将包含按钮这一层改为button(这一种好的习性.特别是在较大的项目时) 4.打开属性面板.将实例命名为myButton.这个名称将用于在Action中引用.将label改写为surpise! 5.现在这个按钮当我点击时还没有任何作用.要相让它起作用我们必须为它加入代码.(如果你不会或根本不想亲自加入代码你也可以使用它自带的行为面板). 创新一个新层取名为action.在第一帧中加入如下代码: myButtonListener = new Object(); myButtonListener.click = function() { trace("You clicked the button! welcome to egoldy flashblog!"); }; myButton.addEventListener("click", myButtonListener); 6.现在测试你的影片点击按钮你就会看见输出窗口中出现的输出信息了. 这个范例中的代码其实很容易理解,首先你要创建一个对象做为你的侦听器.它知所以称为侦听器是因为要用它来侦听事件.要想侦听事件你必须要注册侦听器.使用addEventListener()方式来实现注册.第一要点是你要指出你所要侦听的事件名称.你也不用担心有多少事件名称你不了解.FLASH的帮助中有所有的事件内容.要想了解它打开帮助面板.选择使用组件-->组件.选择BUTTON类你就可以找到相应的事件类型了. 注意在其它组件中.你可侦听多个事件通过多个侦听器. 在2.0版中的按钮组件.你可以象在mx中一样任意的修改你的按钮标签.除此之外你还可使用ICON.如下: 1.仍打开我们上边刚做的文件. 2.首先你需要一个ICON图像文件.你可以使用PNG格式做一个透明背景的图片. 如此例准备了一个放大镜图片.将图像导入. 3.选中图像.按下F8转换为MOVIECLIP.并且命名为search icon 4.为了让按钮组件知道哪个MC是它要用来做ICON的.我们必须为ICON MC创建一个链接Id.创建的方法很简单.打开库面板选中search icon影片剪辑右击-->链接. 5.在打开的链接面板中.在ID处命名ID为:searchIcon同时确保导出为ACTION被选中. 6.最后你要告知BUTTON使用ICON.只需要在第一帧的最上方一行加入一行代码: myBotton.icon=searchIcon; 7.测试影片.好消息是ICON显示出来了.坏的是不能自动伸缩大小. 8.改变第一帧上脚本以使ICON适应按钮的大小.如下你码: myButton.icon = "searchIcon"; myButton.setSize(120, 35); myButton.label = " Search!" myButtonListener = new Object(); myButtonListener.click = function () { trace ("Ah, you have found!"); } myButton.addEventListener("click", myButtonListener ); 9.测试影片.现在的样子看起来好多了.上面的代码中你可以通过SETSIZE()设置大小.通过属性label设置名称.另外注意.MM不提供对ICON和LABEL之间空格间距的设置.到目前最好的解决方法是在制作ICON图像时注意设好间隔或用第三方软件. 源文件 下载 <完> Post by egoldy @ 21:54 FLASHMX2004系列教程〈一〉基础
2004-02-01 14:43 前言 这一系列的教程的原文来自 ultrashock .版权归ULTRASHOCK所有。本人知所以翻译它,一方面是为督促自已学习。另一方面可以提供给有志学好FLASH的朋友们。同时我希望通过自已的劳动使更多的人能感到学习的乐趣。也希望通过此能交到更多的朋友。 以上这些行为存属个人行为。教程只提供给FLASH爱好者使用。所有任何个人或组织的网站未经许可,不得转载,谢谢。 另外本人去除了教程中部分无用的文字说明。把精力放在重点上。 ―――――――――――――――――――――――――――――― FLASHMX 2004新特性。 1。时间轴特效 在场景中的MC上右击-->时间轴特效-->变形/效果。就可以打开时间轴特效面板。 它允许我们对MC进行移动缩动。展开,阴影、变形等多项设置。 2.历史面板 flash mx 2004中的历史记录面板可能大家都知道,它有一个小的功能挺实用. 按下CTRL+f10.打开历史面板.这时你可以在其中建立你的图形或缩放或旋转然后将所有的历史记录选中.在面板上点击保存.这时会弹出一个对话框.输入一个名称如:SCALE.这时你刚才的操作就把录在这个命今之中了. 应用: 打开命令菜单.就看见下方有我们命名的SCALE.选中看看发生了什么. 它类似我们PHOTOSHOP中的ACTION.可以减轻我们的重复劳动. 3.行为面板 按下SHIFT+F3 它类似于DW中的行为面板。主要的对象是面对的是不熟悉AS的设计人员,在这可以方便的载入影片剪辑、MP3音乐、图片、链接和数据库一切工作显得是那么的方便。同时它也是FLASH扩展功能的一部分可以对它进行不断的扩展。 4.项目面板 按下SHIFT+F8 项目面板可以允许你在一个地方管理你的FLA文件。可以很轻松的将你文件放入或移出文件目录。同时允许你自已设定代码来锁定文件。以方便多人协同操作。 有很多开发的朋友说这个功能还不是很完美。我想不久MM就会有新的东西加入。 5。字符串面板 按下CTRL+F11 这是一个非常优秀的功能。可以设置多国语言。在编程的时可以导出任何一种语言版本。可以设置初始语言而所有的这些都只是在一个FLA文件中完成。 6。样式表支持 2004可以很好的支持CSS样式表。使你可以从远程载入外部样式表文件,具体的用法请参看我之前关于样式表应用的文章。 7.动态文本对图片的支持 FLASHMX时我们没有办法使用HTML标记将图片放入动态文本中。现在可以使用HTML标记放入图片而且支持文字环绕。具体请参看我先前的文章“在FLASH中载入HTML文件”。 8.组件 按下F7 2004中的所有组件都是使用AS2重写的。所有的组件均已压缩CLIP的形式存在。新增加了许多媒体组件,可以使你很容易的对声音和视频进行回放控制。 同时你可不使用Flash Communication Server 就可以实现外部视频FLV的播放。但如果你要实现真的流式播放仍需要Flash Communication Server 。 现在2004有了 Data connector components 组件包括 XMLConnector, WebserviceConnector , RDBMSResolver component ,可以使你很容易的通过数据绑定进行数据的存取和管理。 9.ActionScript v2 AS2是在ECMA script 4基础上开发的。语法结构上更加严谨。AS2方面在网上有许多介绍。这里就不在多说。有许多专家提议如果不是真正的程序员不需学习AS2。个人认为还是要学些新东西的。 10.Form和Slider 表单的出现对于开发者的意义是最大的。MM宣称可以向VB程序一样使用表单但很多用户反映使用表单来分配界面很慢。 Slider幻灯片的出现可以使你演示工作大大简化你不需要使用任何代码就可以完成。 ―――――――――――――――――――――――――――――― 基础部分就介绍这么多。你可以针对你的情况或对某部分感兴趣去针对某一部分去学习。 Post by egoldy @ 14:43 2A的新作:足球网站
2004-02-01 14:05 http://soccer.org/ Post by egoldy @ 14:05