仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1194|回复: 7
打印 上一主题 下一主题

[学习教程] FLASH教程之Flash AS 教程:创立文档类(Document class)-Flash actionscript

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 21:05:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
交互性更是Flash动画的迷人之处,可以通过点击按钮、选择菜单来控制动画的播放。正是有了这些优点,才使flash日益成为网络多媒体的主流。
创立文档类(Documentclass)
如今我们对类已了必定的懂得,接上去,看看假如真正地利用它。偶然候我常说基于AS3的SWF是何等的主要,这是由于AS3引进了一个全新的观点,文档类(documentclass)。
一个文档类就是一个承继自Sprite或MovieClip的类,并作为SWF的主类。读取SWF时,这个文档类的机关函数会被主动挪用。它就成了我们程序的出口,任何想要做的事都能够写在下面,如:创立影片剪辑,绘图,读取资本等等。假如在FlashCS3IDE中写代码,可以使用文档类,也能够选择持续在工夫轴上写代码。但假如利用FlexBuilder2或收费FlexSDK,那边没偶然间轴,独一的举措就是写在类中。这些事情统统都环绕着壮大的文档类而睁开,没有它就没有SWF。以下是一个文档类的框架:
package{
importflash.display.Sprite;
publicclassTestextendsSprite{
publicfunctionTest(){
init();
}
privatefunctioninit():void{
//写代码处
}
}
}
假如你看过后面的部分,不会以为这是个新常识,只不外是把他们放在了一同罢了。利用默许包,导进并承继Sprite类。机关函数只要一句,挪用init办法。固然,也能够把一切代码写在机关函数里,可是要养成一个好习气,就是只管削减机关函数中的代码,以是把代码写到了另外一个办法中。本书会给人人良多代码块举行测试,当时要像下面这个例子一样把代码块放进init办法中,如许在影片编译实行时,就会挪用init中的代码。上面我们要入手下手进修怎样毗连文档类和SWF。
利用FlashCS3IDE(集成开辟情况)
FlashCS3IDE是完成文档类的最便利的工具。把上述的类选择一个文件夹举行保留,文件名为Test.as。翻开FlashCS3,创立一个FLA文件,保留到一这个类不异的目次下。确认FLA默许公布设置为FlashPlayer9及AS3.0。在属性面板中,我们注重到呈现了一个名为文档类(DocumentClass)的地区(-1)。只需输出类名:Test。


-1设置文档类

请注重,我们输出的是类名,而不是文件名。以是这里不必要输出扩大名.as。假如这个类包容在一个包中,那末就必要输出类的完全路径——比方:com.friendsofed.chapter2.Test。
程序动画
上面,再来进修一些AS3编程的基础道理。假如你已选择好了一个开辟情况,那末就动身吧。让我们进进ActionScript动画天下。
动画的实行历程
几近一切的程序动画都包含几种分歧的实行历程。关于逐帧动画来讲,意味着创立和存储一组一连的位图,每帧都是一幅图象,只必要举行显现便可,见-3。


-3逐帧动画

当我们在Flash中利用图形或元件时,事变就发了奇妙的变更。这时候,Flash不会为每帧创立和存储新的位图。关于每帧而言,Flash存储的是舞台上每一个工具的地位,巨细,色彩等等。好比,一个小球在屏幕上挪动,每帧只存储小球的在该帧上的地位,第1帧小球的地位在右边第10个像素,第2帧大概就在第15个像素,等等。Flash播放器(FlashPlayer)读取这些信息,再依据这些信息的形貌来衬着舞台并显现该帧。依据这些变更扩大一下游程图,见-4。


-4衬着并显现帧

我是如许形貌一个静态程序动画的,见-5。


-5剧本动画

如-5所示,没有第1帧、第2帧的观点,剧本动画一般只由一帧完成。上面我们就来看看动画的实行历程。
起首,创建初始化。舞台中放进一个影片剪辑,再创立补间动画,或利用代码来形貌全部场景。总之,最初都要对该帧举行衬着及显现。
然后,使用自界说划定规矩。划定规矩能够像“让球向右挪动5像素”如许复杂,也能够是由几十条庞大的三角函数构成。利用自界说划定规矩会发生新的形貌再依据这些形貌举行衬着及显现,其实不断地使用这个划定规矩。
请注重,统一划定规矩被一遍又一各处实行,而不是对第1帧用一套划定规矩,而对第2帧又利用另外一套划定规矩。以是难度就在于,一套划定规矩要处置一切大概呈现的情形。如果球向右挪动得过远,超越了舞台怎样办?你的这套划定规矩就要办理这个成绩。是不是还但愿用户经由过程鼠标来操纵小球?那末你的划定规矩也要把它思索出来。
听起来很庞大,实在否则,这里所说的“划定规矩”,实践上就是ActionScript代码。每套划定规矩都可由一行或多行代码构成。上面是小球向右挪动5像素的例子:
ball.x=ball.x+5;
这句话是说不管小球X坐标(程度轴)在那里,都在本来的X地位上增添5像素,并把该坐标作为它的新X坐标。也可简化为:
ball.x+=5;
“+=”操纵符:把右侧的值与右边的变量相加,相加的了局再赋值给该变量。以下是更多的初级划定规矩,往后会学到:
vardx:Number=mouseX-ball.x;
vardy:Number=mouseY-ball.y;
varax:Number=dx*spring;
varay:Number=dy*spring;
vx+=ax;
vy+=ay;
vy+=gravity;
vx*=friction;
vy*=friction;
ball.x+=vx;
ball.y+=vy;
graphics.clear();
graphics.lineStyle(1);
graphics.moveTo(ball.x,ball.y);
graphics.lineTo(mouseX,mouseY);
这段如今看不懂不妨,人人只需晓得Flash会在每帧中天生这段代码,其实不断地实行。
如何让它轮回实行?看看我第一次的实验,这也是良多AS初学者城市犯的毛病。这是在良多程序计划言语中都存在的轮回布局,如for和while。用轮回布局使代码反复实行,这就是我曾写的那段:
for(i=0;i<500;i++){
ball.x=i;
}
看起来相称复杂。变量i从0入手下手,以是小球X坐标挪动到0——舞台最右边。i++让i的值每次增加1,即:0~1~2~3~4…,每次这个值城市做为ball.x的值,把小球从左向右挪动。当值为500时,表达式i<500值为假(false),轮回停止。
假如你也犯过一样的毛病,就会晓得,小球没有在舞台上产生挪动——只是一会儿呈现在了舞台的右侧罢了。为何没有挪动到两头的那些点上?实在它挪动了,只是我们没有看到,由于我们没有让Flash往革新屏幕。-6为另外一个流程图,看看实践都产生了甚么。


-6为何轮回布局没法发生动画

实践上我们利用自界说划定规矩使球挪动到指定地位,并创立了500次新的场景。但在轮回停止之前没有给出显现,这是由于Flash只在每帧停止后才举行一次革新,这点很主要。以下是Flash进进帧的举措按次:

  • 在舞台上安排一切的工具,不管在何级,何层,或是不是为加载的影片。
  • 实行帧上一切的Action剧本(ActionScript),不管在何级,何层,不管处于影片剪辑仍是按钮中,也不管它嵌套在那边。
  • 判别是不是到了该显现的时分。假如设置帧频为20帧/秒,Flash起码要等上一帧显现后50毫秒后再举行下一次显现,显现了该帧后,就要编译和进进下一帧。假如帧频没有到20帧/秒,那末要守候到准确的工夫再往实行。
准时工夫存在着一些成绩。起首,尽人皆知帧频是不准确的(即便在Flash9中),不要依附它作为准确的准时器。其次,在大批的编译和AS实行消费的工夫会超越划定的工夫。
只管云云,我们也不用忧虑本人的剧本会被砍失落一部分。在进进第3步之前,Flash会完成一切可实行代码(第2步),即便必要延缓帧频也要完成。Flash为了能完成剧本,乃至会等上15秒。在下面的例子中,Flash守候轮回停止,然落后进下一帧,只在跳转到下一帧时举行屏幕的革新。这就是为何我们看到的是跳动而不是挪动。因而,要想完成挪动,我们所要做的就是打散这个轮回,请回过火参考-5。

与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。
透明 该用户已被删除
沙发
发表于 2015-1-17 15:37:49 来自手机 | 只看该作者
FLASH广告的问题主要表现在:
老尸 该用户已被删除
板凳
发表于 2015-1-22 20:46:47 | 只看该作者
Flash也可以合成简单的JavaScript函数。如果你学过某种脚本语言如JavaScript或者Macromedia的Director Lingo,你会知道这有点令人畏缩。
若天明 该用户已被删除
地板
发表于 2015-1-31 14:38:56 | 只看该作者
在计算机出现之前,动画制作者必需手工绘制即使差别很小的不同祯的图像。当然,非自动的,一祯祯的动画在很多情况下仍然很有用,Flash也允许这样做。
山那边是海 该用户已被删除
5#
发表于 2015-2-6 20:39:46 | 只看该作者
考虑到实际的效果,这些专业的网站并不会去单纯追求技术本身,广告设计是否FLASH不是目的,关键是获得最好的宣传效果。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-18 18:03:55 | 只看该作者
缺点方面~有些技术不能实现,不过FLASH技术在发展在进步,相信在以后FLASH可以取代,大部分的视频编辑软件,视频制作软件。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-6 09:48:48 | 只看该作者
不能设置“alt”属性,失去了一次被搜说引擎检索到的机会。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-13 00:09:39 | 只看该作者
向量图有一个特点,就是放大后的图像是不会改变的. 点阵图 向量图Flash的应用,还有再不断在完善的Action Script脚本语言。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 21:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表