|
Macromedia 终于要发布了Flash MX的新版本Flash MX2004了。 它有许多新的特征提供, 或许在同一个文章中叙述显得太多了。 但我在本篇文章中将尽可能尝试更多方面的内容。 注意由于正式产品现在还没有完全供应, 一些数据在不久的将来可能还会发生改变。 让我们到时再跟踪报道。Availability(有效)
Macromedia Flash MX 2004 在2003年九月将会在美国和加拿大上线销售。法国版,西班牙版,意大利版,德国版,日本版,朝鲜版, 和简体中文版随后发布。 Macromedia Flash MX 2004 整体的售价
这篇预览文章针对Flash MX Professional(专业) 2004 , 是开发者的观点。 Flash MX 2004 对于网页设计师是一个完美的工具, 交互式媒体专页, 或主题相关的专业开发多媒体内容。 强调对多种媒体的导入和控制上。 (声频,录像带,位图,矢量,本文和数据) Flash MX Professional 2004 Flash MX Professional 2004 被设计来作高级的网络设计师和应用程序开发人员而且包括Flash MX 2004 的所有特征,顺带了一些强有力的新工具。它提供项目-管理工具来协调一个团队的设计和开发而达到最佳工作效率。外部脚本和处理数据库的动态数据的能力使Flash特别地适合大规模的复杂项目, 配置一个使用Flash播放器的混合HTML中心. Flash MX 2004 的一些新特性 Flash MX 2004 包括许多特性有计划的对复杂项目,藉此改良生产效率。这里是一连串的一些令人兴奋的新特征:
screens环境的介绍 在 Macromedia Flash MX 专业版 2004 中, screens 提供structural building blocks 的一个编辑状态用户界面,使它容易的让你产生复杂,分等级的Flash 文档, 像是幻灯片或基于form的应用程序。 复杂文档结构 你能做二不同的基于screen文档:一个 Flash 幻灯片, 适用于有顺序的的内容,像是一个幻灯片演示或多媒体陈述,或一个Flash form应用程序, 理想为非线性,基于form应用程序, 包括富因特网应用程序。然而,你能混合使用幻灯片screens和form screens在任何的基于screen文档里,从而在一个演示或应用程序分别利用两者的优势功能和做更多的复杂文档。(译者注:loutes??)
Screen 行为 这一个特征对开发者来说可能是 screens 的令人兴奋的部分,Screen 过度。 Screen 过度
screens如何用ActionScript互动 这里是有关用ActionScript控制screen一些方面: 你只能使用screen类 , 幻灯片类, 和Form类时用ActionScript控制 screens。 每个screen自动地被和ActionScript联合,基于它的类。 screens 有他们自己的 _root-screen, 与你的文档的_root根不同。 对于一个基于screen的文档你不能够观看或操纵主时间线。 然而, 你能指定主时间线使用_root作为一个目标路径。 一个新的generation of components 新的components现在支持焦点管理用来控制标签导航。尽管components有新的复杂设计, 你能容易地使用可变皮肤改变他们的外貌。 components是建立在以 v2 component体系共享中心基础上, 功能比如:styles,事件处理,皮肤,焦点管理和深度管理。当你把第一个 v2 component加入一个应用程序的时候,大约有25 K核心功能被增加到文档。 当你附加的component时候, 相同的25K被重复使用, 最终在大小方面造成较小的增加可能是你期待的。
Actionscript 编辑器变化 ActionScript 编辑器在许多的方面已经被更新,使用是更健康和更容易的。 这里是一连串的新特征。
Actionscript 2 ActionScript 语言自从形成以来已经发展了好几年。随着Flash 的每次新发行, 增加的关键字,对象,方法和其他的语言元件已经被增加到语言中。然而, 不像较早的Flash发行, Flash MX 2004 和Flash MX 专业版 2004 引入一些新的语言元件比以前更标准的彻底的实现了面向对象的编程。 因为这些语言元件表现对核心 ActionScript 语言的一个重要的增强,他们表现为 ActionScript 的一个新的版本: ActionScript 2. 随着关键字例如:类、接口、扩充的工具,ActionScript句法对于熟悉其他的语言程序设计者学习现在更加容易。 新的程序设计者能学习他们能适用于他们未来可能学习的其他面向对象语言。 严谨的数据类型 ActionScript 2 让你明确地在建立变量时宣布变量的对象类型;这叫做严谨的数据类型。 因为数据类型会引起编译程序差错,严谨的数据类型阻止你分配错误类型的数据到一个已存在的变量。 严谨的数据类型的极大优势是变量的类型建立在built-in基础上,此如:按钮 , 阵列,等等, ActionScript 编辑器显示变量的代码提示。
新的 ActionScript 语言元件 这一个区段描述在 Flash MX 2004 中的 ActionScript 新的语言元件。 你使用这些脚本元件之中的任何一个,必须在Flash 7里编译 。
ActionScript 2 语言元件 ActionScript 2 支持所有的标准 ActionScript 语言的元件;它只是使你写的脚本以更接近和遵守被用于其他的面向对象语言的标准, 比如JavaScript和 Java。 ActionScript 2 主要感兴趣的人员是正在编写应用程序需要应用到类和子类的中级或高级Flash开发者。
使用 ActionScript 2 语言元件作为脚本时必须以外部脚本方式储存;也就是说, ActionScript 2 用辞不在 Actions 面板中支持。 只有import命令在 Actions 面板中被支持。 ActionScript 2 例子 因为这是一个预览版, I抦 not going to tutorialize the facets of Actionscript 2. 对于关于编程的较多资讯构成它使用,请读一下这个描述 ECMA 262 版本 4 的文档
class类 // 类声明: 为了要使事物更有趣, 我增加一个功能能立刻设定那 _ x 和 _ y 属性,而不是用手在属性中写。当创造它的时候, 我增加了设定对象缺省值的可能性。 当然,用类构造函数处理。 // class declaration: class TPoint { // class properties: var _x:Number = 0; var _y:Number = 0; // class contructor function TPoint(x:Number, y:Number) { if (arguments.length > 0) { _x = x; _y = y; } } // function to overwrite properties with new values function SetPoint(x:Number, y:Number) { _x = x; _y = y; } } 做一个类的实例没有改变 ActionScript 。并且使用他可以用相同的方法完成,这里是一个例子,我把严谨的数据类型加入使他更好的运行。 var Point0:TPoint = new TPoint(); var Point1:TPoint = new TPoint(5,5); // default values 这看起来有一点多余,因为 classname 在相同的地方中被提到两次, 所 然而, 第一次是为严谨的数据类型, 第二次是调用 TPoint类的构造器。 extends(扩充) class TPoint3D extends TPoint { var _z:Number = 0; function TPoint3D(x, y, z:Number) { if (arguments.length > 0) { super(x, y); _z = z; } } } 你能看到我已经增加 _z属性。 构造函数使用super()构造超类,如果你要定义缺省属性,TPoint 的构造函数将会用相同的方法处理。 implements(工具),interface(接口) interface PointInterface { function SetPoint(); function Distance(p:TPoint):Number; } class TPoint implements PointInterface { function SetPoint() { } function Distance(p:TPoint):Number { } } dynamic(静态的),static (动态的) dynamic class TPoint { var _x:Number; var _y:Number; } 这里是实例: var Point:TPoint = new TPoint(); Point._z = 5; // This will not lead to a compiler error, because the class is dynamic. TPoint 的一个子类将会继承超类的动态特性。 这样使用可以使用静态的指令使你的子类静态而不是电动的。 public(公用),private(私有) class TPoint { private var _x:Number; function getX():Number { return _x; } } var Point0:TPoint = new TPoint(); 如果你利用上面的例子调用_x属性,它会引导一个编译程序差错说你没有对属性的存取。你能调用函数 getX() ,而且它将会返回私有的特性, 因为类它本身确实有权限存取它。 get(获取),set(设定) class Person { var age:Number; function get birthyear():Number { var year = new Date().getFullYear(); var birthyear = year - age; return birthyear; } } var Person1:Person = new Person(); Person1.age = 18; trace(Person1.birthyear); 如果你运行这一个代码, birthyear 将会返回 2003- 18, 或 1985. function set birthyear(yr:Number) { var year = new Date().getFullYear(); age = year - yr; } var Person1:Person = new Person(); Person1.birthyear = 1975; trace(Person1.age); Import(输入) var Point:TPoint = new folder.nestedfolder.TPoint(); 如果你打算从这个类产生多重对象,每次都需要指定路径可能是一种痛苦。如果你import一次这个类 ,,因为编译程序知道那个类的存在 , 所以你不需要再指定路径。 import folder.nestedfolder.TPoint; var Point:TPoint = new TPoint(); 最后,你也能import类的整个文件夹。 使用通配符 (*) , 就像你可能从其他的语言知道的。 import folder.nestedfolder.*;
记住你仍然必须为类的本身指定路径。 所有在嵌套文件夹里的类,都必须被公告性的像这样的输入: class folder.nestedfolder.TPoint
{
}
小结 Macromedia Flash MX 专业版 2004 是top-of-the-line,
|
- 美国SIIA评出十项最重要电子商务成果 谷歌居榜首
- 新浪将于8月6日公布第二季度财报
- Photoshop增加在线共享和移动电话选择
- 柳传志2亿多元收购南京先声药业30%股份
- 注意!美军公开招募黑客
- 百度MP3搜索介绍及搜索技巧
- CMMB实现低成本覆盖 广电数字化深入推进
- 上网速度提高百倍 广电网升级描绘万亿大饼
- 《福布斯》:阿里巴巴成为全球最大B2B网站
- Google搜索从入门到精通
- Gartner称08年全球RFID市场将达到12亿美元
- 中华网投资集团将售互动营销服务部门
- Gartner:Q2服务器市场 IBM惠普戴尔分列前三位
- 如何正确的审识一幅优秀的网页作品!
- 微软将为新用户免费升级到Windows 7


















