Flash as教程:AS常用語句_Flash教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:Flash鼠繪教程:制作美麗春日飛燕
      簡介:本例為Flash鼠繪新手入門系列課程第十三課下集,上半節課我們學習了飛燕的繪制方法,下半節課我們繼續學習歇燕的繪制方法,適合新手朋友學習,感興趣的朋友可以到論壇提交作業~~本文由

      本文講解的是AS常用語句。

      AS常用語句

      一.運算符

      1. = 賦值運算符,它不是數學中的等于,而是將=號右邊的值賦給左邊的變量.

      2. 使用于字符串的運算符:

      比較:== 等于. 用于比較兩個字符串是否相等,如果相等則返回"true",否則返回false.

      如:
      a="abc";

      b="abc";

      c="bcd";

      d=(a==b);//d為true

      f=(a==c);//f為false

      〉大于 .

      〉= 大于等于

      〈 小于

      〈= 小于等于

      字符串的大小比較由小到大的順序是:A一Z一a一z.
      :連接運算:

      如:a="abc";

      b="def";

      c=a b;//c為:"abcdef"

      trace(c);
      可以把上述代碼復制到幀動作面板中,測試影片,試試.

      又如:a="123";

      b=456;

      c=a b;//c為:"123456"

      trace(c);

      而:a=123;

      b=456;

      c=a b;//c為:579

      trace(c);
      上面兩個代碼出現了不同的結果,這是因為第一段代碼a被賦的值是被引號括起來的,那么它就是字符串,在字符串中 號是連接符號,不是數學中的加號.第二段代碼,a、b被賦的值都沒引號,AS就將它看著數字,在數字類型中 號就是數學中的加號.
      = 這也是連接符號,這是將 =符號左邊的字符串與右邊的字符串連接,如:

      a="abc";

      b="def";

      a =b;//這時a為abcdef

       

      3.對數字使用運算符:

      、-、*、/:這就是數學中的加減乘除.

      %:求模運算符,即求余數,如:

      a=7;

      b=2;

      c=a%b;//c為a除以b的余數1

      =、-=:分別是符號左邊的數字加上或減去右邊的數字,并將結果賦值給左邊的變量.如:

      a=7;

      b=2;

      a =b;//這時a為9

      a-=b;//這時a為7

      *=、/=:同理
      、--:遞增遞減運算符,即 或減1.如:

      a=7;

      a ;//這時a為8

      a--;//這時a為7
      比效:==:等于

      !=:不等于

      〉:大于

      〉=:大于等于

      〈:小于

      <=:小于等于

       

       

      二、條件語句

      if 語句:如果怎么樣,就做些什么事.可以把if理解為如果.

      格式:
      if(條件表達式){

      要執行的語句

      }

      例:
      a=7;

      b=2;

      if (a==b){


      trace("是的");

      }
      這個條件語句的意思是,如果a等于b,那么就輸出"是的".將上面代碼寫到幀動作面板中,測試影片,發現并沒有輸出面板彈出.因為上面的語句是a等于b時才執行 trace("是的");,事實上現在a不等于b而是大于b,那么trace("是的");就不會執行.把代碼改一下:

      a=7;

      b=2;

      if (a〉b){

      trace("是的");

      }
      測試影片,那就會看到輸出窗口中的"是的".

       

      if…else語句:這句是如果怎樣就執行if后面的語句,如果不是這樣就執行else后面的語句.

      格式:
      if(條件表達式){

      要執行的語句

      } else {

      要執行的語句

      }

      例:
      a=7;

      b=2;

      if(a〈=b){

      trace("a比b小或一樣大");

      } else {

      trace("a比b大");

      }
      看看這個代碼,如果a小于等于b那么就輸出:"a比b小或一樣大".否則,就輸出:"a比b大".測試影片,我們可以看到:"a比b大".
      if…else if:這個語句可以測試多個條件.這樣理解這個語句,如果怎樣就干點什么,又如果怎樣,又干點什么,再如果怎樣….
      還是這個例子:

      a =7;

      b=2;

      if(a<b){

      trace("a比b小");

      }
      else if("a==b"){


      trace("a和b一樣大");

      } else if(a〉b){

      trace("a比b大");

      }
      這段代碼意思是:如果a小于b那么輸出:"a比b小";如果a等于b那么輸出:"a和b一樣大";如果a大于b那么輸出:"a比b大".測試影片,輸出是:"a比b大".

       

      switch語句:上面提到有要檢測多個條件的情況,可以用多個else if,用switch語句也可以實現這個目的.

      格式:
      switch(表達式){

      case 表達式的值:


      要執行的語句

      break;

      case 表達式的值:

      要執行的語句

      break;



      default:

      要執行的語句

      }
      上面括號中的表達式也可以是一個變量,下面的大括號中可以有多個 case 表達式的值:,程序執行時會從第一個case開始檢查,如果第一個case后的值是括號中表達式的值,那么就執行它后面的語句,如果不是括號中表達式的值,那么,程序就跳到第二個case檢查,以此類推,直到找到與括號中表達式的值相等的case語句為止,并執行該case后面的語句.你可能會注意到每一句case后面都有一句breake;這是跳出switch語句的意思,即當找到相符的case,并執行相應的語句后,程序跳出switch語句,不再往下檢測.以免發生落空的錯誤.可能會有這樣的情況,所有的case語句后的值都與表達式的值不相符,那么就應該用default:
      語句,這時程序就會執行default:
      后的語句.如果你確定不會出現這種情況,那么可以不要default:
      語句.

      例1:
      a=7;

      b=2;

      c=a b;

      switch(c){

      case 5:

      trace("小了");

      breake;

      case 12:

      trace("大了");

      breake;

      case 9:

      trace("對了");

      breake;

      }
      測試影片,輸出句"對了".
      例2.
      a=7;

      b=2;

      switch(a b){

      case 5:

      trace("小了");

      breake;

      case 12:

      trace("大了");

      breake;

      case 8:

      trace("還是小了");

      breake;

      default:

      trace("都沒算對");

      }
      測試影片輸出為:"都沒算對".

      邏輯運算符:邏輯運算符在運算符那一節沒有介紹,是因為它多半用在條件語句中,所以我們在這一節介紹.在上面的條件表達式中,都是單一的條件,比如是否大于是否小于等,實際上我們經常都可能用到復合條件,比如大小多少并且小于多少,大于多少或者小于多少等.在這樣的復合條件語句中,有兩個詞:并且、或者,它們的符號:
      &&
      并且

      丨丨
      或者
      并且是指兩個條件都成立時為真,或者是指只要有一個條件成立時為真.

      例1:
      a=7;

      if((a〉5)&&(a<10)){

      trace("正確");

      }
      測試影片,將輸出"正確".因為a=7的確即大于5又小于10,條件為真.

      例2:
      a=7;

      if((a〉5)&&(a〉10)){

      trace("正確");

      }
      測試影片,沒有輸出.說明 trace("正確");這句沒執行.因為a〉5成立,而a〉10不成立,兩個條件只有一個為真,整個條件則為假.

      例3.
      a=7;

      if((a〉5)||(a〉10)){

      trace("正確");

      }
      這個例子用的是"||"或者語句,只要有一個條件為真,整個條件表達式為真,測試影片,將輸出"正確".

       

      練習:猜數游戲

      下面我們來做一個練習,猜數游戲,將上一節運算符及本節條件語句進行綜合應用.游戲是由程序產生一個0-100的隨機數,然后由用戶來猜,程序根據用戶猜的數與所產生的隨機數進行比較,根據比較結果,給用戶提示,直到用戶猜中為止,并記錄用戶所猜次數.

      為完成這個練習,我們先介紹一個函數:random(),這個函數將產生一個由0到括號中的數減1的整數.如: a=random(50),那么a的值為0到49之間的一個整數.

      現在來做這個練習:新建一flash文件,用文本工具在舞臺的上半部居中畫一個文本框,在里面輸入:”請猜一個0-100之間的數字:”;打開屬性面板,設置文本框為靜態文本,設置好文本字體的大小和顏色.

      在這個文本框的下邊,再畫一個文本框,打開屬性面板,設置文本框為動態文本,在變量框中輸入c,這樣變量c就代表這個文本框的內容,我們就可以用c來讀取和設置這個動態文本框的內容.動態文框是在運行時可以給文本設置值的文本框.關于文本框的的知識,在后面將有專門的課程介紹,這里了解這么多就行了.

      在動態文本框的下面,再畫一個文本框,打開屬性面板,設置文本框為輸入文本.將在文本框周圍顯示邊框按鈕點下.在變量框中輸入s.輸入文本框是在運行時,用戶可以在其中輸入內容人.

      下面新建兩個按鈕,一個標簽為”確定”,一個標簽為”重猜”.按鈕的做法請參閱第二課.將兩個按鈕放到舞臺上,最下面.打開屬性面板,”確定”按鈕命名為”qd_btn”,”重猜”按鈕”命名為”cc_btn”.

      新建一層,命名為”action”用來寫代碼.點中第一幀,點右鍵,打開動作面板,開始寫代碼:

      首先聲明一個變量,用來存放0-100間的隨機數,所以第一行代碼為:

      var a = random(101);
      然后聲明一個變量,用來存放猜的次數,現在還沒猜,所以給它賦值為0,第二行代碼為:

      var cs:Number = 0;
      下面使用條件語句,來比較用戶輸入的數的產生的隨機數:

      qd_btn.onRelease = function(){ //當點擊確定按鈕時,執行下面的語句.
      cs ; //猜的次數增加1
      if (s>a){ //如果猜的數大于隨機數.

      c = "大了點"; //動態文本框提示”大了點”.

      } else if (s==a){ //如果猜對了,根據猜的次數給出相應結果.

      if(cs<=5){ //如果猜的次數在5次以內

      c = "哇,你只猜了" cs "次就猜對了,真歷害!"; //給出表揚,注意這里用到了,字符串的連接.

      } else { // 如果不只猜5次.

      c="猜對了!你猜了" cs "次"; //提示猜對了,并給出猜的次數.

      }

      } else if (s<a) { //如果猜的數字小于隨機數

      c="小了點";//提示”小了點”
      }
      }
      最后,來寫重猜的代碼:

      cc_btn.onRelease = function () { //當點擊重猜按鈕時執行以下語句

      a = random(101);//重新產生隨機數

      cs = 0;//將猜的次數設為0

      s="";清空輸入文本框

      c="";清空提示文本
      }

      作業:制作猜數游戲

       

      for循環:格式:

      for(初值;條件表達式;增值){

      要執行的語句

      }
      這個語句,首先給一個變量設定一個初始值,然后將這個初始值帶入條件表達式,如果條件表達式為真,則執行大括號中的語句,并且按括號中增值表達式對變量的值進行增減;然后再次帶入條件表達式,如果為真則再次執行大括號中的語句.…,這樣直到條件表達式為假為止.

      例:var a=0;

      for(var i=0;i〈10;i ){

      a = i;

      }

      trace(a);
      我們來看看最后輸出的a是多少.程序開始時,a等于0,然后進入for循環,循環開始i等于0,條件表達式i<10成立,那么執行a =i,此時a、 i均為0,那么a為0,然后執行增值i ,則i為1,再檢測條件表達式i〈10仍成立,執行a =i,則a為1;執行i ,i為2……,這樣反復循環,直到i為10時,條件表達式i〈10不成立,停止循環.明顯可以看出循環進行了10次,這時a是多少呢?測試影片時輸出為45

      for…in循環:這是遍歷或者叫循環訪問一個組對象中的成員.比如影片剪輯的子級、對象的屬性、數組等.由于數組等在前面還沒有介紹,因此我們將for…in循環放到下一課介紹數組時再祥細介紹

       

      while循環:有點類似if語句,只要條件成立就執行相應語句.


      格式:
      while(條件表達式){

      要執行的語句

      計數語句

      }
      當條件表達式為真時,執行大括號中的語句,執行計數語句,然后用計數語句的結果再次檢測條件表達式,如此反復循環.直到條件表達式為假為止.這里需要注意的是,如果沒有計數語句,或者計數語句的結果永遠不能使條件表達式為假,那么循環將水遠無休止地反復,這就形成了一個死循環,我們在編程的過程中一定要避免這種情況.

      例1:下面的代碼是一個死循環,請不要測試.

      var a=0;

      while(a<10){

      trace(a);

      }
      看看這段代碼,程序執行時a等于0,然后進入循環,條件表達式a〈10成立,執行trace(a),輸出0,然后再檢查條件表達式,因為沒有計數語句,a沒發生變化,條件表達式仍成立,于是又輸出一個0,然后又反復,一直不停地輸出0,無休無止,直到天荒地老.
      例2:下面的代碼是一個死循環,請不要測試.
      var a=0;

      while(a<10){


      trace(a);

      a--;

      }
      這一例加上了計數語句a--,但a的初始值為0,每一個循環它減1,這樣條件表達式a<10也是永遠為真,因此循環也是永不停息,直到地老天荒.
      例3:
      var a=0;

      while(a<10){

      trace(a);

      a ;

      }
      這一例將計數語句改為a ,這樣每一循環,a加1,當10個循環后,a為10,條件表達式a<10為假,循環停止.測試本例我們會在輸出面板中看到:
      0
      1
      2

      9

      do…while循環:這個循環實際和while循環是一樣的,只是它先執行一次語句,然后再檢測條件語句,而while循環是先檢測條件語句再執行大括號內的語句.

      do…while循環的格式為:

      do{

      要執行的語句

      計數語句

      }while(條件表達式);

      分享:Flash AS數組學習
      本例繼續講解AS的基礎知識,今天講解的是AS入門第五課:數組。 在前面介紹變量時,我們說將內存分成無數個房間,用來存放數據.每個房間中只能住一個數據,比如房間中原來住著5,后來8又

      來源:中國教程網//所屬分類:Flash教程/更新時間:2008-12-05
      相關Flash教程