Flash基础入门之flash学习笔记
小标 2018-08-06 来源 : 阅读 2645 评论 0

摘要:本文主要向大家介绍了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频道!

 


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 1
看完这篇文章有何感觉?已经有3人表态,67%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程