分享
 
 
 

Flash9预览版AS3.0编程新特性体验

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

日前,Adobe公司发布了flash的最新版本Flash Professional 9 ActionScript 3.0 Preview,这是Flash 9的预览版,正式版本估计要到2007年才会推出,如图1所示。在这个版本中最为显著的改变就是增加了对ActionScript 3.0的支持,而界面和Flash 8相比并没有任何改动。Flash 9预览版只是为我们提供了一个ActionScript 3.0开发环境,相信在正式版中还有更多改变和新增功能。在本文中,我们将一起来体验使用Flash 9预览版编译ActionScript 3.0的新功能。

一、新增功能

使用Flash 9预览版可以让我们编译包含或者导入到Fla文件中的ActionScript 3.0脚本,利用直接添加在关键帧上或与库文件相关联的脚本实现场景内容的交互。在同时发布的Flash Player 9中新增了一个虚拟机(AVM),据说这个新增的虚拟机要比传统ActionScript代码的执行速度快10倍。

现在我们可以使用Flash 9预览版或者Flex Builder 2来创建编辑AS3.0了,在Flash 9中可以创建基于时间线的ActionScript 3.0文档,并能够使用它的一些特性,比如flash.display.MorphShape类,abobe.utils package,static text fields,scenes等等。

在Flash 9预览版中我们可以发现如下新功能:

1、新增Document class功能实现界面和代码的分离

在Flash 9中最新引入了一个叫做document class的功能,使用它可以定义与主时间线相关联的类。我们可以不再将AS代码写到时间线上,而是单独保存为一个独立的as文件,真正实现了界面和代码的分离,这不得不说这是一个革命性的创新。在我们初始化主时间线的同时,Document class也已经创建完成了。如果想要设置Document class属性,可以在文件的属性面板或Actionscript 3.0发布设置面板上设置,或执行“File/Publish Settings”菜单命令,在Publish Settings 对话框中选择“Flash”标签,选择ActionScript选项为ActionScript 3以后,单击其后的“Settings...”按钮即可打开ActionScript 3.0属性设置对话框,如图2所示。

图2 [+放大图片]

在ActionScript 3.0设置对话框中,可以直接在Document class选项中输入as3.0的文档名称,在Classpath中单击加号可以增加as文件所在的目录,单击减号则可以删除目录,单击Browse To Path则可以浏览存放as文件的目录。如果我们所创建的类在指定的路径中找不到,Flash 9会自动创建一个可以将元件实例化的类,如图4所示。

图4

我们可以和Flash 8中元件的链接属性进行对比,在Flash 9中已经不存在ID(标识符)了,而在Flash 8中还需要指定标识符,去掉这项操作以后会大大简化我们的工作,如图5所示。

图5

3、新增Errors and warnings(错误和警告)

对于ActionScript 3.0的错误和警告也增加了两个操作,执行“Edit/Preferences”菜单命令,在弹出的Preferences面板中,选择ActionScript选项,单击“ActionScript3.0 Settings”按钮,弹出ActionScript 3.0 Preferences对话框,在其中的Errors选项中包括Strict Mode和Warnings Mode两种模式,如图6所示。

图6 [+放大图片]

如果选择Strict Mode模式,在使用编译器编译ActionScript 3.0的过程中对待出现的问题会非常严格,会全部当做错误来处理,而不单单是对我们的警告;如果选择Warnings Mode模式,则会对出现的问题发出警告,这在我们转换Actionscript 2.0到Actionscript3.0时,会得到很大的帮助。如果选择了Warning Mode模式,我们还可以通过编辑EnabledWarnings.xml文件中的Enabled属性来自己定义警告,这个文件存放在Flash 9安装路径下en\Configuration\ActionScript 3.0中。 (2)单击“确定”按钮,进入as文件编辑界面,在代码编写窗口中输入以下代码:

package {

import flash.display.MovieClip;

import flash.text.*;

public class welcome extends MovieClip {

public function welcome() {

var display_txt:TextField = new TextField();

display_txt.width =300;

display_txt.height =50;

display_txt.x = 150;

display_txt.y = 150;

display_txt.htmlText = "欢迎访问www.PConline.com.cn";

addChild(display_txt);

}

}

}

执行“File/Save”菜单命令,将此文件保存为Welcome.as,此文件即为我们所需要的类文件,将它和Fla文件保存在同一个目录下。

(3)新建一个Fla文件,不需要做其他任何操作,只需在文档属性面板的Document class选项中输入刚制作好as文件名称welcome,如图8所示。

图8 [+放大图片]

按“Ctrl+Enter”组合键预览效果

,如图9所示。

图9

2、制作可以点击的对象

(1)新建一个Fla文档,命名为Simple.fla。使用矩形工具在工作区中绘制一个矩形,选中它以后按“F8”键,将矩形转换为Movie Clip,命名为Symbol。选中矩形元件,在属性面板中为矩形添加实例名为juxing,如图10所示。

(2)取消对矩形元件的选择,按F9键打开Actions面板,输入如下代码:

juxing.addEventListener(MouseEvent.CLICK,clickHandler);

function clickHandler(event:MouseEvent):void {

trace("你点击我了哦");

}

在这段代码中juxing实例变为可以点击的对象了,因为我们加入了事件侦听(EventListener)来检测用户是否点击了对象,当用户点击juxing影片剪辑以后clickHandler()就会开始运行。在以前的版本中,则需要在组件中加入侦听事件,然后使用onPress()事件来检测用户是否点击了对象。

(3)如果将上面MouseEvent.CLICK变为MouseEvent.DOUBLE_CLICK则可以实现双击的效果

。不过由于MovieClip对于双击事件默认为false状态,所以需要首先将它变为True状态,加入juxing.doubleClickEnabled = true;就可以了,此时的代码如下:

juxing.doubleClickEnabled = true;

juxing.addEventListener(MouseEvent.DOUBLE_CLICK, clickHandler);

function clickHandler(event:MouseEvent):void {

trace("现在你可以双击我哦");

}

(4)按“Ctrl+Enter”组合键,预览效果。在你双击矩形时,会弹出一个窗口显示我们所设定的文字,如图11所示。

图11 [+放大图片]

如果想要实现鼠标移动到矩形上显示手形的效果,可以加入如下代码:

juxing.buttonMode = true;

3、制作可以拖动的对象

如果想让用户在影片中能够拖动矩形,可以为mouseDown和mouseUp加入两个事件侦听:mouseDown(MouseEvent.MOUSE_DOWN)和mouseUp(MouseEvent.MOUSE_UP)。

继续在上面的实例中进行操作,将其中的代码用如下部分替换:

juxing.buttonMode = true;

juxing.addEventListener(MouseEvent.CLICK,clickHandler);

juxing.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownListener);

juxing.addEventListener(MouseEvent.MOUSE_UP,mouseUpListener);

function clickHandler(event:MouseEvent):void {

trace("你可以拖动并单击我哦");

}

function mouseDownListener(event:MouseEvent):void {

juxing.startDrag();

} function mouseUpListener(event:MouseEvent):void {

juxing.stopDrag();

}

测试一下效果,你会发现可以拖动矩形移动了,这样就完成了一个可以拖动对象的制作。

需要说明的是,假如再写一个这样可以被拖动的对象,利用外部的as文件实现简化,将上述代码封装到as文件中,在需要使用这种效果的时候将元件与类链接到一起就可以了,这将用到将代码转换成类的方法。

好了,现在就对Flash 9预览版的一些新功能做了简单介绍,关于Flash 9带给我们的新体验还需要我们进一步去挖掘

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有