flash学习笔记(一)---基础知识入门
第一章 基础入门 1、? 第一个小例子:先声明类才能代码自动提示。 importflash.display.MovieClip; ? //stop(); varaction1:MovieClip; gotoAndStop(15); //stop(); trace("1"); 2、? Hello world!:书本上例题错误。 varStr:String = "Hello World!"; varmyClick:Function = function(evt:MouseEvent){ lb.text = Str; trace(Str); }; btn.addEventListener(MouseEvent.CLICK,myClick); 3、? Trace语句可以在发布设置中省略 4、? Gotoandplay(scene,frame);场景和帧数 Nextframe();下一帧 Preframe();上一帧 Nextscene();下一个场景的第一帧 Prescene();上一个场景的第一帧 This.gotpandplay(currentframe+5);当前帧后面五帧停止 问题:实例方法调转测试 第二章 语法基础 1、? 1)、变量声明:var Str:String = “hello”;as3变量区分大小写 2)、数据类型:boolean、int、null、Number(NAN)、String(NULL)、uint(0)、undefined 注意:选值范围越小占用内存越小 3)、转义字符:b f t n r * ’ x00-xFFu0000-uFFFF 4)、复杂数据类型: ? 1》FunctionmyFunction():void{}------------void无返回值 ? 2》Var Arr:Array;没有初始化。只是单纯定义一个数组,但不赋值。也就是在内存里只申请一个首地址,但没有定义存储长度。 var arr = newArray();//第一种;定义一个数组,并初始化它为空数组 var arr2 =[];//第二种;定义一个数组,并给它赋一个空值 注意:声明数组必须初始化;数组中元素很自由,类似链表;数组下标由0开始 ?????3》Object对象数据类型: var user:Object = new Object(); ?????4》MovieClip数据类型:元件 ? 5)、常量:自定义常量。Constcon_myage:int = 23; 2、? 关于变量: 1)、变量值中包含引号: Var str:String = “My ”action script”is good.”;----or Var str:String = “My ‘action script’is good.”;----交替包含 Var str:String = ‘My “action script”is good’;---交替包含 2)、var dt:Date = new Date(); 3)、传值变量和传址变量(变量对于上个变量的引用,上个变量改变当前变量改变) 3、? Object: varob:Object = new Object(); ob.name ="zhaoxin"; ob.age =19; trace(ob.name); trace(ob.age); 注意:var i:Sting;???? for(I in person){}为什么??属性成员变量顺序 4、? 数组: 1)、数组的维数可以自动扩展;小于索引上限的元素未定义,返回undefined; vararr:Array = new Array(); arr[1] ="hello"; trace(arr[0]); 2)、多维数组: vararr2:Array = new Array(new Array("1","2"),new Array("3","4")); trace(arr2); 3)、复合数组:使用键而不是数字索引组织存储的值;类似object类 5、? Actionscript的语法结构: 1)、程序注释://?? /**/ 第三章 数据运算和流程控制 1、运算符: ? 算数:+ - * / % ++ -- ? 比较:<?>? < =? >=?==? !=?? &&并且? ||或者? !? ===全等(包括数据类型)?!==? ? 位运算符:&?|? ~? ^?<<? >>? >>> ? 其他运算符:as? delete? in?instanceof(不推荐使用)? is?::? new? typeof? 例子:typeof(array) asxx? 返回前者或者null ????? Typeof(array) is xx? 2、流程控制 ? 1)、if?? else ?????If(condition){ ???????Statement; ?????} else if(condition2){ ???????Statement2; ?????} else{ ???????Statement3; ?????}; ? 2)、Switch语句 ???? Switch(expr){ ??????Case expr1:statement1;break; ??????Case expr2:statement2;break; default:statementN;break; ????} ? 3)、do..while While(condition){} Do{statement}while(condition); ? 4)、for..in循环 ??? For(expr1,expr2,expr3){statement} For(variableIterant in object){statement} 例子: Var arr:Array = new Array(“one”,”two”,”three”); For each (var item:int in myArray){ ? Trace(item);------ 所包含的属性(或成员,或变量) } for..in是把数组的元素或对象的属性名依次取过来。 for each..in是把对象的属性名对应的值依次取过来 ?5)、label标签语句:跳到label所在行继续执行。 ?? Label: ?? Break? label; ?6)、try。。catch。。finally ?? Try{}catch()finally{} ??? ?Throw new error(“这是不合法的Email地址”); 3、使用with语句 ?? Varobj:Date = new Date(); ?? With(obj){ ???? Trace(getDay()); ???? Trace(getMonth()+1); ?? } 第四章 全局函数和自定义函数 1、Trace();调试 2、转移操作函数:escape()/encodeUrl()/encodeURLComponent() 3、转换函数:parseFloat/parseInt/Number()/String()/Boolean()/int()/Uint()/XML()/XMLList()/ 4、判断函数:isXMLName()/isFinite()是否有限数/isNAN()是否数字/ 5、自定义函数: ? 1)、Function myfunc(arg_1:type,arg_2:type,…,arg_n:type):type{return “”;} ? 2)、…(rest)动态参数? function traceargarray(…args):void{ ???????For(var i:uint = 0;i<args.length;i++){ ???????????Trace(args[i]); ?????????}?? } ?3)、匿名函数的定义:varmyfunc:Function = function(arg_1:type,arg_n:type) ????{return “”;} 总结 1、 关于图层:在不同的图层添加不同的对象,使操作更加便利。 2、 关于帧: 1>空白关键帧在空白关键帧上我们可以任意的绘制图形 2>关键帧就是添加了对象的空白关键帧, 3>空白帧就是留个空位置的帧什么都不做,比如有10帧是空白帧,那当时间轴跑到这10帧的时候就什么都不做,连图象都不显示。 3、 动作的元件: 1>如果要给一个元件做动画的话 这个元件就一定单独在一个图层里 2>也就是说,如果有10原件要动,那么这10个元件就要建10个图层,不能放在同一个图层里。 3>这就取决你原件的数量了。 记住一句话 一个图层里只能有一个要动的原件。 4、 建立了图层后,怎么添加边框: 在最顶上图层,画一个矩形框。双击矩形框的边线。 ctrl+k打开对齐面板点选右边的相对于舞台按钮。 找到匹配高跟宽按钮,点击一下,现在边线应该跟场景一样大小了。继续点击水平居中对齐,垂直居中对齐,这时候线框跟舞台的边完全重合了。 最后选择矩形的中间部分按delete键删除。 5、 那些对象可以添加添加动作脚本: A、关键帧(也包括空白关键帧) B、按钮 C、影片剪辑 6、 按钮上停止: 按钮上写 on(release) { ?gotoAndPlay("场景名",1); } 7、 锯齿:图像折叠失真:物体边缘呈现三角形的锯齿 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |