摘要:本文主要向大家介绍了Flash基础入门之flash学习笔记,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
本文主要向大家介绍了Flash基础入门之flash学习笔记,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。
· 时间轴是电影剪辑MovieClip 类的实例
· flash脚本的位置可以放在时间轴上,也可以保存在外部文件上,但是进行类编程时要保存在外部文件中,在时间轴上调用时只需import,但是自己编写的类,需要设置路径,文件/发布设置→flash选项卡→actionscript→设置→类路径
· ActionScript3.0函数可以分为顶级函数和包函数两大类,顶级函数可以直接调用。全局函数(顶级函数)主要有下面几类
1. trace()函数,输出函数,自动换行,要想多个输出在同一行用trace(str1,str2,。。。),此时以空格作为间隔
2. int()、Number()等类型转换函数
3. isNaN()函数,判断是否为数字
· 调用函数时,在时间轴上编程可以不理会函数是否在某个包内,但进行类编程时,要使用包内函数必须先到入包。从面向对象的角度,函数分为实例方法和类方法,在时间轴中自定义的函数都属于实例方法,即root的实例方法。
· 函数可以带任意数量参数,如function test(...arg):void{trace(arg is Array);},结果为TRUE,说明是参数是当做数组处理的,调用时用test(str1,str2,...);注意如果函数有多个参数,任意数量的参数必须写在最后。
· 变量的作用范围,在函数中用var定义的变量都是局部变量,在函数调用时分配空间,结束后释放,在函数外定义的变量是实例变量,当局部变量和实例变量重名时,在函数内部实例变量被屏蔽,只能通过实例名.变量名访问。
· 在ActionScript中函数和变量都作为实例的属性,通过实例.属性名就可以访问
· 函数高级
1. 函数内部内置一个arguments类(实际是数组),数组的元素是函数的参数,arguments[i],表示第i参数,arguments有一个callee属性,表示当前正在执行的函数的引用。
2. 任何函数都是Function类的实例,函数名就是实例名,Function有两个方法,call(),apply();通过call不仅可以调用函数,还可以借用其他函数的属性。P164
3. 动态调用函数,可以同过数组运算符动态调用函数。此时需要加入路径,如
[c-sharp] view plain copy
4.
1. function sum(x:Number,y:Number):void
2. {
3. trace(x,y)
4. }
5. //用字符串表示函数名
6. var str:String="sum"
7. this[str](1,2)
8. this["sum"](1,2)
9.
10. var obj:Object=new Object()
11. obj.sum=function(x:Number,y:Number):void
12. {
13. trace(x,y)
14. }
15. var obj1=new Object()
16. obj.sum.call(obj1,1,2)//1 2
· flash显示类的架构
显示类根据是否具有交互功能,分为交互类和非交互类,非交互类直接继承显示类,交互类又根据是否能嵌套其他显示实例,分为容器类和非容器类,movieclip类继承sprite类,如果不使用时间轴功能,用sprite类效率更高。
·
flash绘图类(Graphics类) flash绘图通过Graphics实现,它直接继承Object类,Graphics不允许用户自己创建实例,在显示类Shape和Sprite类中具有一个graphics属性,它就是Graphics类的实例,通过 显示实例名.graphics调用。一般使用Shape类来绘图,效率高,当需要图形的交互功能时,考虑使用Sprite类和MovieClip类。
·
·
手工创建的实例都被添加到root下,而程序创建的显示实例可以放在root下,也可以放在stage下。
·
·
访问下一级实例时,不能通过简单的点语法来访问。当显示列表中的显示实例都是手工创建的影片剪辑实例时,就可以采用点语法一级级访问。因为MovieClip是动态类,通过手工创建的影片剪辑实例的引用会动态添加到属性中。
·
·
深度管理:显示对象都在一定的容器中,每个容器可以添加多个显示实例,一个容器的多个显示实例是通过深度来管理的。深度可以理解为显示实例的显示层次,深度越大,显示实例显示的层次越高,就越在上面。深度和创建的顺序有关,后面创建的实例的深度较大。Flash管理深度的方法称为z顺排列,就是用一个数组存放要排序的显示实例,通过数组操作来实现相同的排序功能。即把显示实例放置到一个数组中,当创建第一个显示实例时,这个实例就是数组的第一个元素,元素的索引0就是显示实例的深度,创建多个时方法一样。同时使用程序和手工来创建显示实例,手工创建的显示实例的深度小。显示实例的深度还与图层有关,越上面的图层,深度越大。总结来说:程序创建的显示实例一定比手工创建的大,对于手工创建的实例如果位于同一图层的同一帧,先创建的深度小,如果位于不同的层,上面的层的深度比下面层的深度大。移出深度为0的显示对象时,其他显示对象的深度会自动上移,所以通过遍历移出显示对象时,先移出深度大的对象。
·
·
this表示指向当前对象,函数体内的this一般指向定义函数的路径,如果在主时间轴定义就指向主时间轴,如果在类中定义就指向类的实例,但通过匿名函数来定义函数时,this的作用范围会有不同,此时直接调用函数时,this指向mc,而作为侦听器函数时,this指向一个全局对象。
·
[c-sharp] view plain copy
·
1. mc.test=function(e:MouseEvent=null)
2. {trace(this);}
3. mc.addEventListener("click",mc.test);
4. mc.test();
5. // 输出分别为[object MovieClip][object global]
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件Flash频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号