ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:49.87KB ,
资源ID:7613315      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7613315.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(AS入门教程基础篇.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

AS入门教程基础篇.docx

1、AS入门教程基础篇AS入门教程基础篇我写的这些教程,目的是希望初学FLASH的爱好者能 多动手,少提问。做过FLASH的爱好者都知道,要做好一个FLASH动画,AS是比不可少的。即使是几句简单的代码也能起到整个FLASH动画画龙点睛的作用。这里我只简单的介绍一下AS的基本常识。1.祯: 写在关键祯上面的AS.当时间轴上的指针走到这个关键祯的时候,就写在这个祯上面的AS被触发执行了.常见的例子有在影片结尾的祯上写上stop()等.操作方法就是点选关键祯,然后打开AS面板.2.按钮: 不同于祯上面的AS,按钮上面的AS是要有触发条件的.要把AS写在按钮上,操作方法是点选按钮,然后打开AS面板.例如

2、:做一个按钮,放到主场景,点选按钮,然后打开AS面板,写入:on(release)stop();这里比祯动画多这些代码:on(release),整个翻译过来就是:当(松开)停止;红色的代码表示鼠标的触发事件之一,这里使用release松开,按钮的常用事件:release 松开presss按下rollOver鼠标进入按钮的感应区rollOut鼠标离开按钮的感应区现在明白了 写在按钮上面的AS一定就是这种格式的:on(事件)要执行的代码3.mc(电影剪辑)如果你看懂了上面的饿内容,那么写在MC上面的AS和写在按钮上面的大同小异,操作 方法就是点选MC,然后打开动作面板,例如:onClipEvent

3、(load)stop();同样的,MC也需要一个事件来触发AS的执行.翻译这段就是:当剪辑(载入)停止红色代码同样表示一个事件.mc的事件有下面这些:load载入,当MC出现的时候执行,也就是除非卸载这个MC,否则load事件内的代码只执行一次.unload卸载,当MC卸载的时候执行.enterFram存在的每个祯.在MC存在的每个祯都要执行一次代码.如果你的场景有100个祯,有个MC从41祯开始出现到100祯才消失,那么这个MC上面的代码执行了60次.mouseDown按下鼠标,在场景内任何地方都算.和按钮不一样的地方.mouseMove移动鼠标,只要移动鼠标就执行代码mouseUp松开鼠标

4、同样你要明确:写在MC上的代码一定总是这种格式:onClipEvent(事件)代码看到这里,你就明白的写在祯 ,按钮 ,MC的的代码有什么不一样了. AS入门 语法篇首先要让大家明白的是:AS语法的大小写是敏感的.如: gotoAndPlay() 正确 gotoAndplay() 错误.我们要从开始养成编程的好习惯,如在每个语句后面都加上分号,有可能的话,尽量给复杂的语句加上注释.注释的例子:/这里是个注释,但是只能有一行/*这也是个注释,可以写很多行*/接下来,介绍几个类型的语法:1.几个常用的控制场景的方法.如:play();/让时间轴的指针播放stop();/停止时间轴的指针在程序触发时

5、候的那个祯gotoAndStop();/让指针跳转到某个祯,然后继续播放gotoAndStop();/让指针跳转到某个祯 然后停止在那祯nextFrame();/往下走一祯prevFrame();/往前走一祯上面的都是方法.也就是大 括号里的代码,是事件的执行者2.控制属性的语法:_x / 用来标识 目标 的X轴的坐标_y_alpha /(属性),用来标识目标的透明度_width_name上面的都是属性3.控制语句流程的语法.如:if(条件)/条件满足 执行这里的代码else/条件不满足执行这里的代码for(i=0;i)/ 执行这里的代码N次while(条件)/当条件满足时一直执行这里的代码这

6、些都是基本的语法,也是AS的基础4.其他方法和自己定义 的方法这里我不能把所有的语法都一一列出来介绍,因为实在是太多了,具体可以参考Flash自带的帮助手册。我们只能在以后的应用中慢慢熟悉。这里,你有个基本概念就行了。到后面我会给每句话都加上注释。 AS入门 对象篇虽然AS不是真正的面向对象的编程,但是它也有对象的概念.这个概念贯穿整个AS的始终,所以 对 对象的理解,比对语法或其他的理解 更为重要.首先 了解以下路径,做过HTML的朋友应该知道这个概念,我认为对路径的理解要深入,我初学的时候就是磕在路径上.在讲路径前 ,有必要先讲一下 语法:举例说明,这里要表示房间里的桌子上的一本书,用语法

7、这么表示: 房间.桌子.书如果要再仔细到书上的页面上的字,很显然:房间.桌子.书.页面.字看明白了吧?语法就是这么表示对象的.节点 是父子的关系,前面是父 后面是前面父的子.现在我们开始说路径了哈,其中也要夹杂着对象的说明,例子:新建一个FLASH文件,然后创建一个MovieClip,mc命名为mc,防在主场景里面,然后再创建一个按钮,放在MC里面,然后从库里拖一个出来放在主场景,分别给这2个元素实例命名:MC-myMC button-myBtn现在我们假设主场景是房子,MC是桌子,按钮是书,那么分别怎么表达房子,桌子,书 呢?如下:_root 房子_root.myMc 房子桌子_root.m

8、yMc.myBtn 房子桌子 书这里的_root是FLASH的关键字,表示主场景的Timeline(时间线).这里的房子,桌子,书 都是我们要理解的对象.当你找到这个对象后,才能对对象进行操作,才能给对象施加方法.比如,我现在要打扫房子,打扫就是方法,但对象是房子,表达式是这样:房子.打扫()如果你不能正确的表达房子这个对象,你的打扫也就 不能正确的实施了.* 说明:这里为什么要在打扫后面加()呢?因为打扫是方法 不是对象,为了让FLASH知道这是个方法,我们必须加上(),要不然FLASH会以为房子里有打扫这个东西 (对象)呢.现在,我们可以很容易的对房间里的各个东西进行操作了.如:房子.打扫

9、();房子.桌子.整理();房子.玻璃桌子.打碎();房子.书桌.书.看();等等,相信你可以把他们翻译成AS了吧?比如要把主场景停止播放,就是: _root.stop();要MC停止播放:_root.myMc.stop();现在说相对路径,还是上面的例.假如给你下了一个命令:修理房子里的红色的椅子.怎么表达呢?就是:房子.红色椅子.修理();如果说修理你现在坐的这椅子,红色的?还是兰色的?这就要取决于你坐的哪个椅子了.那么相对的表达式就是:我坐的椅子.修理();这里为什么不这么写呢? 房子.我坐的椅子.修理();这样写是错的,因为我坐的椅子是不固定的,我说不定把椅子搬到外面去坐,那这个表达式

10、就错了,因为椅子根本就不在房子里面.换过来用FLASH实例说明.现在我想让主场景下的MYMC在一开始就不要播放,而是先停止.那你有什么办法捏?你的办法可能是在主场景放入这个mc的那个祯写上: _root.myMc.stop();这个是对的,但是一旦myMc的名字一变,你就得跟着改这句话了.有没有办法不管这个MC怎么改,都会被我们同样的一句AS找到捏?当然可以,前提是你的AS必须坐在这个MC上.进入Mc的编辑状态,在Mc 的Timeline的第1祯些上 this.stop();这里的this也是FLASH的关键字,这个this指AS所在的这条Timeline.现在不管你这个MC放哪里,命名是什么

11、,反正坑顶会停下来.为什么捏?因为AS坐在MC上.这个this是相对路径的关键字之一.必须要仔细理解它.另一个关键字就是_parent.如果理解了this.那么这个_parent并不难理解.举例哈:房子(_root), 桌子(mc_zhuozi),书(mc_shu) (括号内为mc实例名)他们的关系是: 房子.桌子.书._root.mc_zhuozi.mc_shu在mc_zhuozi 的Timeline里面写 _parent.打扫(); 意思就是打扫房间.在 mc_shu的timeline里面写:_parent.打扫(); 意思是打扫桌子._parent就是父级.桌子的_parent就是房子的

12、timeline.书的_parent就是桌子的timeline.绝对路径 相对路径 就到这里哈, 文字字段和组件1.常用指令下面介绍使用动作脚本动态创建文本框.设置文本属性的几个常用指令.MovieClip.createTextField()作用:动态创建文本框语法:my_mc.createTextField(instanceName,depth,x,y,width,heigth)参数:instanceName,指示新文本字段的实例名称,depth是一个正整数,指定新文本字段的深度;x是一个整数,指定新文本字段的X坐标;Y是一个整数,指定新文本字段的Y坐标;width是一个正整数,指定新文本字

13、段的宽度;height是一个正整数,指定新文本字段的高度.例如:_root.createTextField(textBox,1,50,50,200,100);textBox.text = 这是我的第一个动态创建文本?;这段程序代码的功能是:创建一个文本框,其实例名称为textBox,深度1,X50,Y50,宽度200,高度100.TextField.removeTextField()作用:删除由createTextField创建的文本字段.语法:my_text.removeTextField()例如:textBox.removeTextField();删除textBox文本.TextField

14、._alpha作用:设置或获取由my_txt指定的文本字段的ALpha透明度值,有效值为0(完全透明)到100(完全不透明),默认值为100.语法: my_text._alpha例如:text1_text._alpha = 30;/将名为text1_txt的文本字段的_alpha属性设置为30/100.TextField.autoSize作用:控制文本字段的自动大小调整和对齐.语法:my_txt.autoSize例如:my_txt.autoSize = center;/将文本字段 my_txt的autosize的属性值为center(中心).TextField.background作用:设置文

15、字字段背景是否填充.如果为true,则文字字段具有背景填充.如果为false,则文字字段没有背景填充.语法:my_txt.background例如:my_txt.background = false;/文本字段my_txt没有背景填充.TextField.border作用:设置文本字段是否有边框.如果为true,则文本字段有边框.如果为false,则没有字段边框.语法:my_text.border例如:my_txt.border = true;/文本字段 my_text有边框.动态文本应用实例:数字倒记时这里我们利用动态文本制作一个10秒的倒记时器,影片中的数字自动从10变为9,8.,当变到0

16、的时候停止,数字变化间隔1秒.步骤1 :创建影片文档影片文档 250*200,其他都保持默认.保存影片文档为动态文本实例. fla. 动作脚本入门变量 函数 语法规范现在我们来学习AS编程的基础知识,学习AS程序的一些基本结构。通过这一节的学习,我们要从开始就养成正确阅读和书写AS程序的习惯。首先,我们一起来看一段定义在一个按钮上的小程序:on (release) var myNumber = 7; var myString = Flash Mx 2004 ActionScript; for (var i = 0;imyNumber;i+) trace(i); if (i+3 = 8) tra

17、ce(myString); 我们发现AS程序其实就是由一些命令 数字和一些符号组成的。当测试这个程序的影片,可以看到这小程序输出的结果为:i是 06的数值。1. 常量 常量就是一种属性,指在程序运行中不会改变的量.例如上面的程序代码中的数值3.7.8和字符串Flash Mx 2004 ActionScript都是常量.逻辑常量true和False在编程的时候也经常用到.2. 变量 变量就是在程序运行中可以改变的量.例如上面的例子中的i,就是变量,它从0一直变到6.可以看出,我们在编写程序 时往往需要 储存很多的信息,就需要变量来储存这些信息.Variables(变量):储存了任意数据类型的标识

18、符.变量实际就是一个信息容器,容器本身总是相同的,但容器中的内容却可以修改.通过在影片播放时修改变量中的值,然后判断某些条件的真假等.例如,如果需要重复10次相同的命令,你就可以对命令的自行执行次数进行记数,判断次数是否满10,满10次就终止.变量可以存放任何数据类型,包括数字值.如(myNumber).字符串值(myString).逻辑值.对象或电影剪辑等.储存在变量中的信息类型也很丰富,包括:url,地址.用户名,数学运算结果.事件发生的次数或按钮是否被单击等.变量可以创建 修改和更新.变量中储存的值可以被脚本检索使用.在以下示例中,等号左边的变量标识符,右边的则是赋予变量的值.x = 5

19、;name = Lolo;customer.address = 66 17th Street;c = new Color(mcinstanceName);变量由2部分构成:变量名和变量的值,(1)变量名与规则变量名必须一英文字母开头.变量名称中间不能有空格,象box sum就是一个错误的示范,如果是2个单词,可以在中间加下画线符号.如:box_sum.变量名称中不能使用除了_(下画线)以外的符号.不能使用与命令(关键字)相同的名称,例如:var,new等以免程序出现错误.(2) 变量的类型变量的类型包括储存数值 .字符串或其他数据类型.在FLASH中,可以不直接定义变量的数据类型.当变量被赋值

20、时,FLASH会自动确定变量的数据类型.例如:X = 3;在表达式X=3中,FLASH将取得运算符右边的值,确定它是数值类型.此后的赋值语句又可能改变X的类型.例如X =HELLO语句可以将X的数据类型改为字符串值.没有赋值的变量,其数据类型为undefined(未知的,不明确的).AS会在表达式需要时自动转换数据类型.例如,当我们将一个值传递给Trace动作时,Trace会自动将其值改变为字符串并发送,(输出)面板.在包含运算符的表达式中,AS会在需要时转换数据类型.例如:在和字符串连用时,加号(+)运算符会将其他的运算项也转换成字符串.Next in line, number+7as将数字

21、7转换成为字符串7,然后填加到第1个字符串的末尾,得到的结果是以下字符串:Next in line,number7在调试脚本时,确定表达式或变量的数据类型是常用的手段。使用Typcof运算符就可以作到这一点。例如:Trace(Typcof(VariableName);使用Number函数,可以把字符串转换为数字值。使用String函数 可以把数字值转换为字符串值。3).变量的作用域所谓变量的作用域,是指能够识别和引用该变量的区域.也就是变量在什么范围内是可以访问的.在AS中有3种类型的变量区域:本地(局部)变量:在自身代码块中有效的变量(在大括号内).就是在声明它的语句块内(例如一个函数体)是

22、可访问的变量,通常是为避免冲突和节省内存占用而使用.时间轴变量:可以在使用目标路径指定的任何时间轴内有效.时间线范围变量声明后,在声明它的整个层级(level)的时间 线内它是可访问的.全局变量:即使没有使用目标路径指定,也可以在任何时间轴内有效.就是在整个的movie中都可以访问的变量.(4)声明和使用变量使用变量前最好使用Var命令先加以声名.在声名变量的时候,一般要注意以下内容:*要声明常规变量,可以使用Set Varible动作或赋值运算符(=),这2种方法获得的结果是一样的。 *要声明本地变量,可以在函数主题内使用Var语句。例如: var myNumber = 7; var myS

23、tring =flash MX 2004 ActionScript; *要声明全局变量,可以在变量前使用_global标识符。例如: _global.myName = global; *要测试变量的值,可以使用trace动作将变量的值的发送到输出窗口。例如:trace(i) trace(mystring)就可以将变量i的值发送到测试模式的输出窗口中。也可以在测试的模式的调试器中检查和设置变量值。如果要在表达式中使用变量,则必须先声明该变量。如果使用了一个未声明的变量,则变量的值将是mdenned,脚本也将产生错误。在脚本中,变量的值可以多次修改。在以下示例中,变量x被设置为15,在第2行中,该

24、值被复制到变量y中,在第3行中,变量x的值被修改为30,但是变量y的值仍然保持为15,这是因为变量y不是引用了变量x的值,而是接受了在第2行传递的实际值15。var x=15;var y=x;var x=30;3.函数函数(function)是什么捏?函数就是在程序中可以重复使用的代码,你可以将需要处理的值或对象通过参数的形式传递给函数,然后由函数得到结果,从另一个角度说,函数存在的目的就是为了简化编程的负担,减小代码量和提高效率。(1)系统函数所谓系统函数就是FLASH内置的函数。用户在编程的时候可以直接拿来使用。下面是一些常用的系统函数。Boolean:转换函数,将参数转换为布尔类型。Ge

25、tVersion:函数获取Flash play的版本号。ParseInt:数学函数,将字符串分析为整数。Escape:将参数转换为字符串,并以URL编码格式进行编码,在这种格式中,将所有非字母数字的字符都转义为%十六进制序列。IsFinite:数学函数,测试某数字是否为有限数。String:将数字转换为字符串类型。Eval:函数返回由表达式指定和变量的值。IsNN:数学函数,测试某数字是否为NaN(不是一个数字)。TargetPath:返回指定电影剪辑的目标路径字符串。Getproperty:返回指定电影剪辑的属性。Number:转换函数,将参数转换为数据类型。Unescape:对URL编码的

26、参数进行解码所得到的字符串。GetTimer:影片开始播放以来经过的毫秒数。ParseFlost:数学函数,将字符串分析为浮点数。Object:转换函数,将参数转换为相应的对象类型。Array:转换函数根据参数构造数组(2)自定义函数除了系统函数 ,我们在编写程序时还需要自己定义一些函数,用这些函数去完成指定的功能。在FLASH中定义函数的一般形式为: function函数名称(参数1,参数2,。,参数N) /函数体。既函数的程序代码假设我们要定义一个计算矩形面积的函数,可以这样:function areaOFBox(a,b)/自定义计算矩形面积的函数 return a*b;/在这里返回结果,

27、也就是得到函数的返回值你自定义了函数以后,就可以随时调用并执行它了。调用执行函数的一般形式为:函数名称(参数1,参数2,。参数N);假设程序中我们要调用上面自定义的areaOfBox()函数,可以这样:area = areaOfBox(3,6);trace(area=+area);函数就象变量一样,被附加给定义他们的电影剪辑的时间轴,必须使用目标路径才能调用它们。此处还可以使用_global标识符声明一个全局函数,全局函数可以在所有时间轴内有效,而且不必使用目标路径,这和变量很相似。4.语法规范(1)关键字:关键字是AS程序的基本构造单位,它是程序语言的保留字(reserved Words),

28、不能被作为其他用途(不能作为自定义的变量,函数,对象名).AS中的关键字不是很多.break 跳出循环体 instanceof 返回对象所属的类(class)case 定义一个switch语句 的条件选择语句块 new 使用构造函数(consturctor)创建一个 新的对象continue跳到循环体的下一项目return在函数中返回值default定义 switch 语句的默认语句块switch定义一个多条件选择语句块delete清除指定对象占用的内存资源this引用当前代码所在的对象else定义 if 语句返回为假时的语句块typeof返回对象的类型for定义一个循环var声明一个本地变量

29、(Local Variable)function定义一个函数语句块void声明返回值类型不确定if定义一个条件语句块while定义一个条件循环语句块in在一个对象或元素数组中创建循环with定义一个对指定对象进行操作的语句块(2)运算符运算符指定如何合并.比较或修改表达式中值的字符.也就是说通过运算来改变变量的值.运算符所操作的元素被称为运算项.例如:在以下语句中,加号(+)就是运算符,i和3就是运算项:i+3运算符包括:*算术运算符:+(加).-减.*(乘)./(除).%(求余数).+(递增).-(递减). *比较运算符::(大于)、=(大于或等于)。 *逻辑运算符:&(逻辑和).|(逻辑或). !(逻辑非).下面是运算符优先级的列表.运算符的优先级,既几个运算符出现在同一表达式中时先运算哪一个,从上到下递减.运算符描述+一元(Unary)加-一元(Unary)减按位(Bitwise)逻辑非!逻辑非(NOT)not逻辑非 (Flash 4 格式)+后期(Post)递加-后期(Post)递减

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1