毕业论文 论文提纲 论文写作 公文范例 教育论文 教育学论文 师范教育 学术论文     论文指导*
                     
 
   
   
   
   
           
 

当前位置:课件115学培吧(kj115.com)→flash网侠教程(助你成为顶尖课件高手)→系列文章

 
 
标题:探索F9 As3.0 Preview
 
展示台

文章来源 作者:admin 密码:admin 整理:湖北金鹰

◇网侠教程栏目简介
    提供FLASH侠客教程和网页制作侠客教程,高手进阶教程。
    浏览过这些资源的还浏览过经典教程图文教程游戏开发教程等相关资源。

---------------

湖北金鹰课件吧

论文相关服务
 

 

探索Flash Professional Actionscript 3.0 Preview
本站对其进行了翻译整理,
AdobeFlash Professional 9 ActionScript 3.0 Preview(以下简称AS3.0预览版)是下一个将要发布的flash 创作工具的预览。众所周知它的名字是”Blaze”,它扩展了Flash Professional 8 并包括了一系列特性将与Flash9 一同发布,计划将在2007年发布。
这个预览版本包括支持Actionscript 3.0,它的优势在于包含在flash player 9 中的一个新的虚拟机(AVM),这个增强的虚拟机要比传统的Actionscript 代码的执行速度快上10倍,如果你想获得更多的关于flash player 9的信息,请查看Flash Player Product page
Flash9预览版允许你编译包含或导入到Fla中的Actionscript3.0 脚本,贴加在帧上或是与库元件关联的脚本在编译过程加入与场景内容的交互。
这篇文章是通过使用Flash的绘制工具创建一个新的形体来展开的,当你学完了如果让形体与按钮和鼠标交互移动,你会明白如果将actionscript从主时间轴上移到外部文件,怎样与库中的元件或是Flash文档自身链接。
要完成此文章你需要 Flash Professional 9 Actionscript 3.0 和 范例文件
在FLASH中编写Actionscript 3.0
Flash9 预览版只是一个开发环境,它允许你创建Flash文档(FLA)并使用Actionscript 3.0,当然你也可以使用Flex Builder 2来编译As3.0.
Flash9预览版能让你创建基于时间线的Actionscript3.0文档,并可以使用其它的一些特性,如形变和运动缓动,flash.display.MorphShape类,abobe.utils package,static text fields,scenes,和库。
Flash9 预览版包括下面几个新特性:
1.Document class:
Flash9引入了document class的概念,定义为与你的swf文件的主时间线关联的类。当你初始化主时间线时,document class就已经被构造了。你可以文件的属性面板或Actionscript 3.0发布设置面板上设置document class,如:File>Publish Settings > Flash tab > Settings button
如下图:

探索F9 As3.0 Preview图片1

2.Symbol-class linkage: (元件-类链接)
在ActionScript 3.0中你不再需要链接id了,取而代之的是,你可以为你能直接实例化或动态创建实例的元件指定一个特定的类名称。如下图所示:

探索F9 As3.0 Preview图片2

3.如果类不能在你指定的类路径当中找到,那么Flash会在场景之后创建一个以使它仍可以被实例化。如下图所示:

探索F9 As3.0 Preview图片3

4.Errors and warnings: (错误和警告)
针对ActionScript 3.0 errors和warnings增加了两个操作.你可以在Actionscript 3.0的特性面板上选择。如:选择Edit>Preferences > ActionScript > Actionscript 3.0设置按钮。如下图.
—个是Strict Mode,使编译器在编译过程中遇到问题时非常的严格,都会当做错误来处理而不是警告。另一个是Warnings Mode,会出现额外的警告,大多数情况下当你从Actionscript 2.0迁移到As3.0时,会起到很大的帮助,当你选择了Warning时,你可以通过编辑EnabledWarnings.XML文件中的Enabled属性来定义你想要的警告。EnabledWarnings.xml文件的位置:
o Windows: C:\Program Files\Adobe\Flash 9 Public Alpha\en\Configuration\ActionScript 3.0
\EnabledWarnings.xml
o Mac OS: HDApplicationsAdobe Flash 9 Public AlphaConfigurationActionScript 3.0EnabledWarnings.xml

探索F9 As3.0 Preview图片4

Creating clickable and draggable shapes(创建可点击和可拖动的形体)
在这个例子中,你将探索flash9 预览版了一些新特性,你将创建一个简单的形体并使用改良的事类模型来使它可以点击,在后面的例子中,你将使这个形体可以拖动,将你的代码转换为类和动态创类的实例。
Clickable shapes(可点击的形体)
下面我们先开始创建一个可以点击的形体。
1. 选择文件>新建一个文档,并将它保存为simpleBall.fla.
2. 选择绘制圆工具,在场景中绘制一个正圆。当然在绘制的时候按住shift就可以了。
注意:在绘制时候确何你的Object Drawing mode(对象绘模式)是关闭的。
3.选中选择工具并双击这个形体使它高亮显示
4. 当这个形体选中后,选择编辑modify>Convert to Symbol转换为元件(按F8)来打开元件转换窗口,
5.将名称改为circle然后点击ok,将它转换为影片剪辑。
6. 元件要仍处于选中的状态,在属性面板上为它起一个实例名为:ball_mc
7. 取消对元件的选择打开action面板(F9).
8.在Action面板上输入如下代码:
代码:
ball_mc.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
trace("You clicked the ball");
}
在这段代码中,ball_mc实例变成了可以点击的了,因为你加入了事件侦听用来检测用户是否有点击动作,无论何时只要用户点击了ball_mc影片剪辑,clickHandler()函数就会执行。这非常类似于之前版本在组件中加入侦听事件,如As2.0使用onPress()事件来检测用户是否点击了剪辑或按钮。
9.选择Control>Test Movie 测试影片,当你点击圆时,就会在面板上输出”you clicked the ball.
10.关闭Swf文件返回Flash操作环境,编辑你的Actionscript 代码,在原有代码的上面加入如下一行代码:
ball_mc.buttonMode = true;
11.重新测试你的影片,当你的光标位于圆之上时,光标就会变成一只小手的形状。用于给用户一个提示,这是可以点击的。
Draggable shapes(可拖动的形体)
如果你想让用户可以在场影中拖动这个形体,你需要加入两个事性侦听器,mouseDown(MouseEvent.MOUSE_DOWN)和mouseUp(MouseEvent.MOUSE_UP),如下面的例子。
下面的例子示范如何为mouseDown和mouseUp事件加入事件侦听器
1.编辑我们之前的例子中代码如下:
代码:
ball_mc.buttonMode = true;
ball_mc.addEventListener(MouseEvent.CLICK, clickHandler);
ball_mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
ball_mc.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
function clickHandler(event:MouseEvent):void {
trace("You clicked the ball");
}
function mouseDownListener(event:MouseEvent):void {
ball_mc.startDrag();
}
function mouseUpListener(event:MouseEvent):void {
ball_mc.stopDrag();
}
2.测试你的影片。你就可拖动这个圆了。
虽然我们编写这个例子没有花费我们多少时间,但如果再让你写一个可拖动的形体,你可能不会情愿去写,假想你能将你的代码转换为与元件连接的外部类文件,它可以自动的创建可拖动的形体,会在将来结省你的大量时间。下面我们就看如何实现。
Converting code into a class(将你的代码转换成类)
下面的例子创建一个Actionscript类它封装整个影片剪辑的拖动的实现逻辑。现在不管什么时候,只要创建一个类的新的实例被创建,它就是可拖动的。无须为场景中的每个实例去写代码。
1.创建一个新的Fla文档并将它保存为fancyBall.fla.
2.选择File>New选择Actionscript File创建一个新的Actionscript文件。
3.保存这个Actionscript文件为Ball.as与Fla文件为同一路径下。也就是刚才创建的fancyBall.fla.
4. 在里面输入如下代码:
代码:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Ball extends MovieClip {
public function Ball() {
trace("ball created: " + this.name);
this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
}
private function clickHandler(event:MouseEvent):void {
trace("You clicked the ball");
}
function mouseDownListener(event:MouseEvent):void {
this.startDrag();
}
function mouseUpListener(event:MouseEvent):void {
this.stopDrag();
}
}
}
上面的代码定义了一个新类名为Ball,它继承了MovieClip类(内置在flash.display package中).注意在使用As3.0书写外部类时,你必须明确的导入所需要类。不同于在Fla内部书写代码。
5.保存并关闭Ball.as文档,然后打开fancyBall.fla文档。
6. 使用绘制圆工具,在场景中绘制一个圆并将转换为movieClip.
7.右击刚刚建立的圆,选择链接。
8.选择EXPort for ActionScript(为action导出),在Class(类)的输入框中输入类名Ball
9.点击ok.关闭此面板。
10.确何这个圆的实例在场景中,测试影片。观看是否与之前的效果是一样的。
它看起来很不错,下面的例子我们来看如何动态的创建类实例。
Dynamically creating instances of a class(动态创建类实例)
你不需要在创作时总是将元件拖动到场景中,你也可以通过使用Actionscirpt新操作方法在库中创建新的类实例。
Using the new operator(使用新的操作)
之前的Actionscript在创建新的MovieClip或是TextField实例时是通过使用如MovieClip.attachMovie(),MovieClip.createEmptyMovieClip(),或MovieClip.createTextField().来创建的。在ActionScript 3.0中,你可以通过类似如new Ball()的方法创建新的MovieClip,TextField,Sprite,和Video 实例—或是你自定义的类,如下方法:
1.打开fancyBall.fla.将场景中的所有实例元件删去,在主时间线上加入如下代码:
代码:
var b1:Ball = new Ball();
2.按下ctrl +回车测试,注意,我们会发现没有任何东西出现在场景中,但是在输出面板上会显示:“ball created: instance1”,尽管Flash创建了ball的一个新的实例,但它是不可视的,因为你没有使用addChild()将它加入到显示列表中。
3.编辑代码,将b1实例加入到显示列表中。测试。
代码:
addChild(b1);
下一部你需要使用document class,它将允许你将代码从主时间轴的第一帧上移到一个外部文档中,它类似与之前例子中的通过元件与类连接.
Using the Document Class text box(使用Document class输入框)
下面示范如何将你的代码从主时间轴移到一个外部的As文件中。
1.删去fancyBall.fla第一帧上的代码。
2.创建一个新的Actionscript文档保存为BallDocumentClass.as,与fancyBall.fla处于同一目录下。
3.加入如下代码在BallDocumentClass.as中:
代码:
package {
import flash.display.MovieClip;
public class BallDocumentClass extends MovieClip {
private var tempBall:Ball;
private var MAX_BALLS:uint = 10;
public function BallDocumentClass() {
var i:uint;
for (i = 0; i < MAX_BALLS; i++) {
tempBall = new Ball ();
tempBall.scaleX = Math.random();
tempBall.scaleY = tempBall.scaleX;
tempBall.x = Math.round(Math.random() * (this.stage.stageWidth - tempBall.width));
tempBall.y = Math.round(Math.random() * (this.stage.stageHeight - tempBall.height));
addChild(tempBall);
}
}
}
}
4.保存并关闭这个as文档,打开fancyBall.fla.
5.在属性面板的document class后面的输入框中输入BallDocumentClass,保存文件。
6.测试,你会发现有10个大小位置不同的元件出现在场景中。
使用Document Class允许你将代码放置在外部文件中,而不是时间线上,可以在许许的fla文件重用代码,并且在团队协作版本控制系统(CVS)中,更容易共享代码。
总结:
这篇文章只是对As3.0的一个简单应用介绍,只要告诉大家如何创建简单的类,如何使用改良的侦听事件模型,如何使用document class.
Ps by egoldy:学完这篇文章,你会发现自已也可以编写在fla中看不见一行代码的程式了,真正的是界面与代码分离,控制,看上去真的是很酷,如果你也在学习As3.0,别忘了把你的心得分享一下。

 

 
课件115学培吧(湖北金鹰)欢迎您!永久免费服务网址:http://www.kj115.com
   
 

学员众多的FLASH课件学习基地,成万免费FLASH课件制作教程在线学习,还有免费内容课件教程、视频教程、课件技巧、课件探讨、课件欣赏、课件展示、实用教程、课件界面、课件脚本、课件游戏、课件下载、课件封面、课文内容图片、课文人物图片库、课件素材、图片素材、声音素材、动物素材、背景图片、背景资料、背景边框、课件顶栏图片素材、Dreamweaver教程、Dreamweaver网页课件教程、软件下载。承接学习和培训,承接课件订制,课件修改等所有课件相关服务。
本站主要业务:┃flash课件制作视频教程培训┃承接全国竞赛flash课件┃论文代写代发┃代办课件国家级获奖证书┃
联系:QQ:444860709 手机:13339817386


 
 

业务办理
鄂ICP备08005724号