Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Actionscript 3.0基本介紹

6,288 views

Published on

這個範例介紹Actionscript 3.0的基本語法,設計科系的同學很多人都用過Flash,第一次嘗試接觸的程式語言往往就是Actionscript,學程式可以訓練邏輯觀念喔,別害怕~南台科技大學 多媒體與電腦娛樂科學系 楊智傑助理教授

Published in: Design, Technology, Education
  • Be the first to comment

Actionscript 3.0基本介紹

  1. 1. Actionscript 3.0 基本介 紹 南台科技大學 多媒體與電腦娛樂科學系 楊智傑 助理教授 scatjay@gmail.com
  2. 2. 教材出處  Gary Rosenzweig, 2008, “ActionScript 3.0 Game Programming”, Macmillan Computer Pub.
  3. 3. 什麼是 Actionscript 3.0 (page-7)  AS 於 1996 發表,那時候稱為 Action  Flash 5 和 AS 1.0 發表於 2000 年  Flash MX 2004 和 AS 2.0 一同發表  逐漸支援物件導向  AS 3.0 和 Flex 2 一同發表於 2006 年  AS 3.0 讓 Flash 更適合於 2D 網路遊戲開 發
  4. 4. 產生一個簡單的 AS 程式 (page-9)  使用原始檔 (A3GPU01_HelloWorld)  如何使用 trace() - HelloWorld1.fla trace("Hello World");  老師說明  使用 trace 也可以用於除錯  會輸出雙引號中間文字
  5. 5.  把結果輸出在螢幕上 - HelloWorld2.fla var myText:TextField = new TextField(); myText.text = "Hello World"; addChild(myText);  老師說明  AS 3.0 對於變數或物件的型態比較嚴謹  例如用 var 宣告 myText 物件之後,要在後面 以“ :” 指定型態為 TextField  myText 物件內的屬性可以用“ .” 來指定,一個物件 裡面可以有很多屬性  之後會常常看到“ addChild” 這個語法,代表把某個 物件加入場景內,才有辦法顯示出來
  6. 6.  我們的第一個 AS 3.0 類別 – HelloWorld3.fla (HelloWorld3 範例目前為空白的 )  以上兩個範例都是把程式碼直接寫在時間軸上 面,這樣的做法非常不好,我們現在把 HelloWorld 範例改為類別的寫法  新增一個 (*.as) 檔案命名 為“ HelloWorld3.as” ,注意名稱要與 *.fla 相同 ,鍵入以下語法
  7. 7. package { import flash.display.*; // 引入基本函式庫 ( 顯示用 ) import flash.text.*; // 引入基本函式庫 ( 處理文字用 ) // 宣告一個類別名稱為 HelloWorld3, 衍生自 MovieClip 影片片段 // 之後要產生一個對應的 HelloWorld3.swf 影片 public class HelloWorld3 extends MovieClip { // 宣告建構函式 , 名稱與類別名稱相同 // 建構函式在類別產生時會執行 public function HelloWorld3() { // 其餘的用法都相同 var myText:TextField = new TextField(); myText.text = “Hello World!”; addChild(myText); } } }   老師說明 要替 HelloWorld3.fla 設定類別名稱 ( 屬性 -> 類別,鍵入類別名稱 HelloWorld)
  8. 8. AS 遊戲程式撰寫的策略 (page-22)  儘可能使用一個類別就好,像 HelloWorld3 範例 這樣  當你不知道怎麼樣用程式寫出某些功能的時候, 把這些功能拆成更小的步驟,直到你知道怎麼寫 程式出來為止  其他寫程式的好習慣     養成寫註解的好習慣 變數和函式盡量用有意義的名稱命名 把重複的程式碼改寫成函式的用法 把程式碼拆解成小部份來測試
  9. 9. 基本的 AS 概念 (page-26)  宣告與使用變數  2.0 的寫法也可以用 var myValue = 3; // 宣告變數同時指定值 var myValue; // 先宣告還未指定數值  宣告變數未指定型態的話,預設為 object 型態 ,可儲存任何型態的變數 ( 不嚴謹的作法 )  比較好的作法 // 宣告一個形態為 int 的變數,同時指定整數 7 var myValue:int = 7; // 宣告型態 Number 的變數,同時儲存小數 7.8 var myValue:Number = 7.8;
  10. 10.  針對數值類型的變數,可使用運算符號 +,-,*,/ var myNumber:Number = 7.8+2; var myOtherNumber:int = 5-6; var myOtherNumber:Number = myNumber*3; var myNextNumber:Number = myNumber/myOtherNumber;  累加 ++, 累減 -- 的用法 myNumber++; // 變數累加 1 myNumber += 7; // 變數加上 7  文字類型的變數用法 var myString:String = “Hello”; var myOtherString = myString+”World”; myString += “World”;
  11. 11.       條件判斷式,只有一個條件 // 假如 myValue 的數值為 1 的話 if (myValue == 1) { // 執行下列函式來做某些事情 doSomething(); } 老師說明 特別注意“ ==” 和“ =” 雖然只有差一個等號,用法完全不同 “==” 用於判斷兩個數值或變數是否相同,通常會配合條件判斷式 “=” 用於把某些值指定給變數或物件 更複雜一點的判斷式 if (myValue == 1) // 如果 myValue 的數值如果是 1 的話 { doSomething(); // 作第一種事情 } else if (myValue == 2) // 如果 myValue 的數值是 2 的話 { doSomethingElse(); // 作第二種事情 } else // 除了上面兩種條件之外的狀況 { doNothing(); // 做另外一種事情 }
  12. 12.    更複雜的條件判斷 判斷是否同時符合 ( 且 ) – 使用“ &&” 判斷是否符合其中一個條件 ( 或 ) – 使用“ ||” // myValue 數值是 1 “ 而且” myString 是 This if ((myValue == 1) && (myString == “This”)) { doSomething(); }
  13. 13.   迴圈的用法主要用 for 和 while for 迴圈執行固定次數 // 迴圈要配合迴圈參數 // 設定初始值為 0 // 跑到小於 10 為止 // 迴圈參數每次累加 1 for(var i:int=0;i<10;i++) { doSomething(); // 每次迴圈執行一次函式 }  while 迴圈一直執行到符合某種條件為止 var i:int = 0; while (i < 10) // 只要 i 小於 10 就一直執行下列事情 { i++; }  下面的用法也可以 var i:int = 0; do { i++; } while (i <10);
  14. 14.  函式  宣告一個函式的時候,需要有“函式名稱”、“輸入值”、“回傳值” private function myFunction(myNumber:Number, myString:String): Boolean { if (myNumber == 7) return true; if (myString.length < 3) return true; return false; }       老師說明 函式名稱: myFunction 兩個函式輸入值: myNumber 、 myString 函式回傳值:型態為 Boolean 函式的回傳值只能有一個 函式輸入值可以不只一個,也可以沒有
  15. 15. 除錯 (page-31)       設定停止點 (breakpoint) – Ctrl + B 在除錯模式,會執行到停止點暫停 進入除錯模式 – Ctrl + Shift + Enter 繼續前往下一個停止點 – Alt + F5 進入函式 - Alt + F6 除錯時觀察變數內儲存的數值是否有正確

×