zoukankan      html  css  js  c++  java
  • 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-\xFF\u0000-\uFFFF

    4)、复杂数据类型:

      1》FunctionmyFunction():void{}------------void无返回值

      2》Var Arr:Array;没有初始化。只是单纯定义一个数组,但不赋值。也就是在内存里只申请一个首地址,但没有定义存储长度。

    var arr = newArray();//第一种;定义一个数组,并初始化它为空数组

    var arr2 =[];//第二种;定义一个数组,并给它赋一个空值

    注意:声明数组必须初始化;数组中元素很自由,类似链表;数组下标由0开始

         3》Object对象数据类型:

    var user:Object = new Object();
    user.name = "Irving";
    user.age = 32;
    user.phone = "555-1234";

         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_2: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、 锯齿:图像折叠失真:物体边缘呈现三角形的锯齿

  • 相关阅读:
    [IOS]《A Swift Tour》翻译(一)
    Android Property Animation动画
    [Android]AndroidBucket增加碎片SubLayout功能及AISubLayout的注解支持
    使用spin.js优化等待ajax返回时的页面效果
    用adb命令组装PowerShell实用小工具——Android测试小助手
    测试团队专业化建设规范建议与素质养成指南
    用Python脚本在豆瓣音乐人小站上下载未开放下载的歌曲
    Java调用Python脚本工具类
    Python爬网——获取安卓手机统计数据
    JIRA REST java client API实际应用
  • 原文地址:https://www.cnblogs.com/tinytiny/p/2419256.html
Copyright © 2011-2022 走看看