flash5 actionscript入门学习

上传人:xins****2008 文档编号:109541029 上传时间:2019-10-27 格式:DOC 页数:15 大小:61KB
返回 下载 相关 举报
flash5 actionscript入门学习_第1页
第1页 / 共15页
flash5 actionscript入门学习_第2页
第2页 / 共15页
flash5 actionscript入门学习_第3页
第3页 / 共15页
flash5 actionscript入门学习_第4页
第4页 / 共15页
flash5 actionscript入门学习_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《flash5 actionscript入门学习》由会员分享,可在线阅读,更多相关《flash5 actionscript入门学习(15页珍藏版)》请在金锄头文库上搜索。

1、Flash5 ActionScript入门学习(一)Flash5 Action Script中的变量 在ActionScript中变量不需要声明,但是,声明变量是良好的编程风格,这便于掌握一个变量的生命周期,明确知道某一个变量的意义,有利于程序的调试。通常,在动画的第一桢就已经声明了大部分的全局变量并为它们赋予了初始值。每一个MC对象都拥有自己的一套变量,而且不同MC对象中的变量相互独立且互不影响。变量名变量名需符合以下几点:1) 变量名必须是一个标识符,不能包含任何特殊符号;2) 变量名不能是关键字及布尔值(true和flase)3) 变量名在其作用域中唯一。变量的类型在Flash中不需要显

2、式的声明一个变量的类型,当变量被赋值的时候,它的类型被动态的确定,当然,也可以把赋值语句理解为变量的声明语句,例如:x = 3;上面的表达式声明了一个x变量,其类型为number类型,并且x的值为3。对变量x的赋值可能还会改变它的数据类型:x = hello;此时变量x将从number类型改变为string类型。这同C语言等其他高级语言好像有些不同,但其实Flash中的赋值语句不仅仅是一个赋值功能,它还起到了变量声明的作用。声明了却没有被赋值的变量类型被称为无类型变量。在特定的条件下,ActionScript可以自动将变量的类型进行转换。例如,当为trace语句传递一个值以后,这个值被自动转换

3、成字符串类型输出到Output窗口中。在表达式中,ActionScript会根据需要对变量进行类型转换,如下例:The number is + 7ActionScript将数字7自动转换成字符串7,并将它添加在前面字符串的末尾:The number is 7在调试脚本的时候,需要确切掌握一个变量的数据类型,因为数据类型决定了变量的行为,ActionScript中提供了typeof操作符,用于确定某一个变量的类型:trace( typeof( aVariable );另外,Flash 5中提供了两个类型转换函数。Number函数可以将一个字符串转换成数字,相应的,String函数可以将一个数字转

4、换成一个字符串,它们的用法比较简单,在Flash 5的脚本编辑面板中已经提供了充分的提示。变量的作用域ActionScript中有局部变量和全局变量之分,全局变量在整个动画的脚本中都有效,而局部变量只在它自己的作用域内有效。声明局部变量需要用到var语句。例如,在下面的例子中,i是一个局部的循环变量,它只在函数init中有效:function init()var i;for(i=0; i10; i+)randomArrayi = random(100);局部变量可以防止名字冲突,而名字冲突可能会导致致命的程序错误。例如,变量n是一个局部变量,它可以用在一个MC对象中计数,而另外一个MC对象中可

5、能也有一个变量n,它可能用作一个循环变量,因为它们有不同的作用域,所以并不会造成任何冲突。使用局部变量的好处在于减少程序错误发生的可能。比如,一个函数中使用局部变量,那么这个变量只会在函数内部被改变,而一个全局变量可以在整个程序的任何位置被改变,使用错误的变量可能会导致函数返回错误的结果,甚至使整个系统崩溃。此外,函数的参数也将作为该函数的一个局部变量来使用,例如:x=3;function test(x)x=1;a=x;test(x)程序执行之后的结果是a=1,x=3。从这个例子可以看出test函数中的x参数的确是作为函数内部的局部变量来处理了。变量的声明在程序中,给一个变量直接赋值或者使用s

6、etVariables语句赋值就相当于声明了全局变量;局部变量的声明需要用var语句。在一个函数体内用var语句声明变量,该变量就成了这个函数的局部变量,它将在函数执行结束的时候被释放;在根时间轴上使用var语句声明的变量也是全局的,它们在整个动画结束的时候才会被释放掉。在声明了一个全局变量之后,紧接着再次使用var语句声明该变量,那么,这条var语句无效,例如:aVariable = 10;var aVariable;aVariable += 1;在上面的脚本中,变量aVariable被重复声明了两次,其中var语句的声明被视为无效,脚本执行后,变量aVariable的值将为11。注:cal

7、l语句同样会为它调用的程序块生成一个局部变量作用域,当被调用的脚本结束的时候,这个局部作用域也同时消失。Flash 5中call语句可以用with语句取代。使用trace语句可以检测变量的值,例如trace(aVariable)将变量aVariable的值转换成字符串传递到Output窗口中,在调试模式下,还可以随时改变和获取某一个变量的值。变量的使用在引用一个变量的时候,必须先进行声明(使用var语句或者直接赋值),如果变量没有得到初始化,那么,在下面的例子中,将会产生错误:gotoAndPlay( aFrame );其中aFrame是一个标签,因为aFrame没有被声明,gotoAndPl

8、ay将会被错误的执行,跳转到一个不确定的位置。变量的内容可以随时被改变,变量的类型决定了它们的行为。请注意下面一段关于变量类型的说明,其中一些特征是ActionScript中所特有的。简单数据类型传递的是变量的值,就是说,变量的内容会被拷贝一份之后才被传递出去,不论是在赋值语句中,还是作为参数传递给一个函数都是一样:var x = 4;var y = Math.sqrt(x);上面例子中,变量x的值被复制后传递给sqrt函数,并将返回结果2赋值给变量y,变量x的值保持不变。 对象数据类型包含有大量复杂的信息,具有这种数据类型的变量并不保存对象的实际内容,它们保存的只是一个指向对象的指针,当调用

9、对象的属性或者方法的时候,根据这个指针找到该对象实际的位置并返回所需要的内容。下面是一个通过指针进行传递的例子:var myArray = Holly, Tom;var newArray = myArray;myArray1 = Marry;trace(newArray);上面的例子中,一个数组对象myArray有两个元素,newArray被赋值为指向myArray的指针,当myArray的第二个元素被改变之后,所有指向它的其它变量内容也会改变,最后的trace语句将会把Marry, Tom输出到输出窗口中。下面是一个将对象类型的变量作为参数传递给函数的例子:function initArra

10、y(newArray)var i;for ( i=0; i10; i+ )newArrayi = random( 100 );var myArray = new Array();initArray( myArray );上例中,myArray被传递到函数initArray中,因为传递的是对象指针,所以在函数内,数组myArray将被初始化。在ActionScript中,对一般对象的引用称为强引用,对MC动画的引用称为弱引用。强引用是指只要还有一个指针指向该对象,那么这个对象就不能被释放;弱引用是指如果MC动画结束之后,所有指向该MC动画的指针将随之而不再有效。 Flash5 ActionScr

11、ipt入门学习(二) Action Script编辑环境 简介熟悉VB的读者可能会发现,Flash 4中的脚本语言有很多地方跟VB Script极为相似,比如赋值语句、条件语句,字符串的操作等等,然而,Flash 4中的脚本并不够严格,所实现的功能相对来说也很有限。在Flash 5中,我们很高兴的发现,Macromedia公司对其中的脚本语言进行了全面的完善,并且使用更为流行的类Java Script语法,这对于偏爱Java Script的朋友来说,实在是一件值得高兴的事情。除了比较完善的语法之外,还增加了许多实用函数,不仅如此,您还可以编写自定义的函数呢,不用再像从前那样找一个空白桢并定义一

12、个Label来实现函数调用了(其实我觉得这种方法也挺方便);吸取了面向对象编程方法的一些思想,提供了十几个对象,您可以方便的定义一些实例并且调用其内部函数以及常量;加强了对鼠标的控制,您不必再需要拖拽一个MC来获得鼠标坐标了,Flash 5中已经增加了两个全局属性_xmouse和_ymouse,而且您还可以控制是否隐藏鼠标;Flash 5中还增加了对XML的支持,今后,可以直接通过 XML 读取数据库;另外,Flash 5还支持一些额外的外挂库功能,增加脚本排错功能(Debug),支持对象表和关系树,以便于用户检查错误等等。这些对编程功能的增强,将为Flash增加更多的魅力,令Flash动画更

13、加精彩! 编辑窗口功能简介还记得Flash 4中的脚本编辑窗口吗?还记得它给您带来过的编程上的不便吧!太小了,而且必须经常要一会儿用鼠标一会儿用键盘,大大降低了编程效率,而您又不能在Notepad 中编写,因为无法粘贴到Flash中(反之则可以)。在Flash 5中,已经对这些弊病进行了改善。首先您将拥有一个可以调整大小的编辑窗口了;编辑窗口的界面也进行了调整,但是,不用担心,您熟悉的一些按钮仍然保留下来了,只不过位置有所变化,另外还增加了几个新的按钮,所有的Actions放在了一个列表框中,您可以方便的从中选取您所需要的Action,参数栏则放到了窗口的下部;还有就是您可以从一个文本文件导入

14、脚本或者将Flash中的脚本导出到一个文本文件中了,在您对Action Script熟悉之后,完全可以用Notepad写好程序然后导入到所需要的地方。Flash5 ActionScript入门学习(三) Action Script基本语法 变量与常量变量的名字不可是使用特殊符号,而且要尽量避免使用flash中已经存在的关键字。Flash 5中使用变量不需要预先申明,而且不区分局部变量和全局变量的申明。但是奇怪的是,Flash 5中却提供了var关键字,而且对var关键字说明是用于定义(局部)变量,但是笔者经过测试,发现完全不用使用var来申明一个变量,而且所谓传统意义上的局部变量申明根本不起作

15、用。请看下面一段程序:Function test()Var x;x+=1;x=1;test();程序执行完毕之后,x的结果将是2;申明变量的好处在于可清楚掌握变量的生命周期,能增强程序的可调试性和易读性。Flash 5提供了delete关键字,在一个变量生命周期结束的时候可以用delete来释放这个变量。请看下面的程序:var y;function test()var x;x=2;y=x-1;delete x;test();执行结果为y=1,变量x被释放;这样看起来x好象起到了局部变量的作用。但是假如您在程序中还有一个全局变量x的话,test函数中的var变量申明将会被忽略,对x的任何引用和赋值都是针对全局变量x,如果不注意的话,将导致程序的异常。但是,还有一种特殊的情况,局部变量和全局变量将被区分开来。那就是函数调用时候的参数,将作为函数中的一个局部变量,对参数变量的任何赋值并不会影响同名的全局变量。如下所示的例子:x=3;function test(x)x=1;a=x;test(x)程序执行之后的结果是a=1,x=3。从这个例子可以看出test函数中的x参数的确是作为函数内部的局部变量来处

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号