如何製作Flash遊戲

來源:趣味經驗館 1.04W

目錄

部分1:開始製作1、設計遊戲。2、Flash擅長製作的遊戲。3、熟悉AS3語言。4、下載Flash Professional。部分2:寫一個基本的遊戲1、瞭解AS3代碼的基本構建塊。2、創建對象。3、給對象指定屬性。4、改變實例的屬性。5、使用trace()命令檢查。6、利用上述信息製作一個遊戲。7、運行一下。部分3:進階技巧1、“包”的功能。2、建立對象文件夾。3、給你的遊戲添加音效。4、創建常量文件。5、看看別人的遊戲。Flash是網頁瀏覽器上很流行的動畫格式,很多網站中都能見到這種格式的遊戲。儘管面對日益增長的移動應用程序,Flash格式不再那麼流行,但是很多好玩的遊戲仍是採用Flash格式。Flash使用的語言是ActionScript,用它可以控制屏幕上出現的對象,而且十分易學。閲讀本文,學習如何製作一個簡單的Flash遊戲。

部分1:開始製作

如何製作Flash遊戲

1、設計遊戲。在編寫代碼之前,你要對你的遊戲有個大概的設想。Flash適合製作一些比較簡單的遊戲,所以不要在遊戲中加入過多的傷腦筋的設計。先選擇一種遊戲的類型,並且構思幾種基本的設計,然後再開始製作。閲讀本文可以瞭解更多有關遊戲設計階段的內容。常見的Flash遊戲類型,包括: 跑酷遊戲:遊戲中的人物一直在跑,而玩家需要控制人物跳過障礙物,或以其它方式躲過。玩家通常只有一兩種控制方式。

橫軸格鬥遊戲:人物橫向移動,擊敗身邊的敵人才能繼續前進。這種遊戲中,通常有幾種不同的動作來擊敗敵人。

解謎遊戲:這種遊戲需要讓玩家解出謎題,從而過關。謎題類型多種多樣,可以像《寶石迷陣》那種三消遊戲一樣簡單,也可以像是在冒險遊戲中出現的謎題一樣複雜。

角色扮演遊戲:這類遊戲的核心在於角色的發展和提升,角色會在各種場景中遇到不同的敵人。儘管各個遊戲的戰鬥機制不完全相同,但是大多數還是回合制。角色扮演遊戲要比只有一個動作的遊戲要複雜得多。

如何製作Flash遊戲 第2張

2、Flash擅長製作的遊戲。Flash最適合製作2D遊戲,儘管也可以製作3D遊戲,但是這要需要用到更高級的程式語言,並且對語言有着深入的瞭解。幾乎所有成功的Flash遊戲都是2D遊戲。 Flash遊戲最適合小段時間玩。這是因為大多數Flash遊戲玩家都會在一小段空閒時間玩遊戲,比如休息時,也就是説遊戲時間通常在15分鐘或者更短的時間內。

如何製作Flash遊戲 第3張

3、熟悉AS3語言。製作Flash遊戲需要用到AS3語言,為了成功的製作出遊戲,你需要對它的工作原理有所瞭解。對如何在AS3中編程所有了解之後,你就能製作出簡單的遊戲了。 在亞馬遜或者其他商店中,都有關於ActionScript語言的教程,網上也有很多教程和例子可供學習。

如何製作Flash遊戲 第4張

4、下載Flash Professional。這個軟件是收費的,但是用它可以很快的製作出Flash遊戲。同時它還包含很多功能(包括一些開源的功能),不過這些功能有的兼容性差,有的效率低。 Flash Professional是製作遊戲唯一需要用到的軟件。

部分2:寫一個基本的遊戲

如何製作Flash遊戲 第5張

1、瞭解AS3代碼的基本構建塊。在製作遊戲的過程中,你可能會用到幾種不同的代碼結構。在AS3代碼中,主要有三種類型的代碼結構:變量 —— 這是用來儲存數據的地方。數據的類型種類很多,可以是數字、字符(字符串)、對象等等。使用var命令來定義變量,並且變量名只能是一個單詞。

var playerHealth:Number = 100;// “var”表示你要定義一個變量。// “playerHealth”是變量的名字。// “Number”是變量的類型。// “100”是變量中的數值。// 所有命令都以“;”結尾。

事件處理器 —— 事件處理器會在特定的事發生時,告訴程序之後該如何運行。這是玩家在輸入和重複代碼時所必須用到的。事件處理器通常會調用函數。

addEventListener(MouseEvent.CLICK, swingSword);// “addEventListener()” 定義事件處理器的類型。// “MouseEvent”是事件的類型。// “.CLICK”是事件中的特定動作。// “swingSword”是事件發生後,需要用到的函數。

函數 —— 部分代碼會有一個關鍵詞作為名字,方便之後調用。遊戲的運行離不開函數,複雜的遊戲可能會用到數百條函數,而簡單的遊戲可能只需要用到幾條函數。函數只有被調用時才會起作用,所以它們的順序無所謂。

function swingSword (e:MouseEvent):void;{//代碼的位置}// “function”是每個函數之前都要有的關鍵詞。// “swingSword”是函數名。// “e:MouseEvent”是附加參數,表明函數是由該事件處理器調用的。// “:void”是函數的返回值。如果無數據返回,使用:void。

如何製作Flash遊戲 第6張

2、創建對象。要製作遊戲,你必須創建可以和玩家互動的對象。根據教程的不同,“對象”可能會叫做“精靈”、“演員”或者“影片剪輯”。要製作這個簡單的遊戲,你需要創建一個長方形。打開Flash Professional。創建新的項目。

點擊工具欄中的矩形工具。根據軟件的配置不同,工具欄的位置也會不同。在當前窗口中畫一個長方形。

用選擇工具,選中長方形。

如何製作Flash遊戲 第7張

3、給對象指定屬性。選中長方形之後,打開設計菜單,選擇“轉化為元件”(也可在選中之後,按下F8)。在“轉化為元件”窗口中,給你的對象命名,比如“敵人”。打開配置窗口。當鼠標懸停在窗口上方時,會出現一個叫“實例名”的空白文本框。輸入上一步中你給對象的命名(“敵人”)。這樣就創建了一個可以通過AS3語言交互的“名字”。

每一個“實例”都是單獨的對象,都可以用代碼進行控制。點擊資源庫標籤,然後將實例拖進場景中,就可以複製已創建的實例。每添加一個實例,它的名字就會改變一次,以示區分(“敵人”、“敵人1”、“敵人2”等等)。

要在代碼中使用對象,只需要輸入它的名字即可,本例中就是“敵人”。

如何製作Flash遊戲 第8張

4、改變實例的屬性。生成一個實例之後,你可以通過AS3改變它的屬性。改變它的位置、調整它的大小,等等。輸入實例和參數的數字,中間以“.”分隔,就可以改變它的屬性:enemy.x = 150; 改變enemy在x軸上的位置。

enemy.y = 150; 改變enemy在y軸上的位置。y軸是從屏幕頂端開始計算的。

enemy.rotation = 45;讓enemy順時針旋轉45度。

enemy.scaleX = 3;將enemy的寬延長3倍。輸入負數的話,就會翻轉對象。

enemy.scaleY = 0.5;將對象的高減半。

如何製作Flash遊戲 第9張

5、使用trace()命令檢查。這個命令將當前值返回給對象,用來檢查程序運行是否無誤。在最終代碼中不需要用到這個命令,通常使用這個命令來檢查遊戲的錯誤。

如何製作Flash遊戲 第10張

6、利用上述信息製作一個遊戲。現在,你已經對它的核心功能有所瞭解了,現在你可以用它來製作一個小遊戲。遊戲是這樣的:每次點擊敵人都會改變它的大小,生命耗盡,遊戲結束。

var enemyHP:Number = 100; // 將初始生命設為100。var playerAttack:Number = 10; // 設定玩家的攻擊力。 enemy.addEventListener(MouseEvent.CLICK, attackEnemy); // 對對象使用這個函數,當對象被點擊時才會生效,點擊其它地方不會有效果。 setEnemyLocation(); // 這個函數可以設定“敵人”的位置,在遊戲開始時生效。 function setEnemyLocation ():void{ enemy.x = 200; // 讓“敵人”向右移動200像素。 enemy.y = 150; // 讓“敵人”向下移動150像素。 enemy.rotation = 45; // 讓“敵人”瞬時針轉動45度 trace("enemy's x-value is", enemy.x, "and enemy's y-value is", enemy.y); // 顯示當前“敵人”的位置,從而進行調試。} function attackEnemy (e:MouseEvent):void // 創建“敵人”被點擊時運行的函數。{ enemyHP = enemyHP - playerAttack; // 從生命值中減去攻擊力,結果是剩餘的生命值。 enemy.scaleX = enemyHP / 100; // 根據新的生命值,改變寬度。除以100,轉化為小數。 enemy.scaleY = enemyHP / 100; // 根據新的生命值,改變寬度。 trace("The enemy has", enemyHP, "HP left"); //輸入“敵人”的生命值。}

如何製作Flash遊戲 第11張

7、運行一下。完成上述代碼之後,你就可以試試你的新遊戲了。點擊控制菜單,選擇測試影片,遊戲就開始了。點擊“敵人”,看看它的大小是否變化了。Trace函數的輸出結果會顯示在結果窗口中。

部分3:進階技巧

如何製作Flash遊戲 第12張

1、“包”的功能。ActionScript是基於Java設計,用到了很多和Java類似的包機制。“包”可以允許你用獨立的文件儲存變量、常量、函數和其它信息,然後將這些文件輸入到程序中。使用現成的包可以簡化遊戲的製作過程。閲讀更多的文章來了解Java中“包”的功能。

如何製作Flash遊戲 第13張

2、建立對象文件夾。如果你的遊戲當中需要用到很多圖片和生效,那麼你需要創建一個文件夾來保存它們。這可以方便你儲存不同的數據,以及需要的軟件包。創建根目錄,然後在根目錄中,創建“img”文件夾,用來儲存所有圖像;創建“snd”文件夾,用來儲存所有音效文件;創建“src”文件,用來儲存所有用到的包和代碼。

在“src”文件夾中,創建“Game”文件夾,用來儲存遊戲中的常量文件。

當然沒有必要將文件夾的結構弄成這樣,但是這可以方便你管理你的遊戲和素材,特別是要用到很多對象的遊戲。如果只是像上文中的小遊戲一樣簡單,你就不需要用到這種文件夾結構。

如何製作Flash遊戲 第14張

3、給你的遊戲添加音效。沒有音效或音樂的遊戲,很容易讓人乏味。使用圖層工具,可以給對象加上音效。詳情可以參閲相關文章。

如何製作Flash遊戲 第15張

4、創建常量文件。如果遊戲中的很多變量的值,自始至終都不變,那麼你可以創建常量文件來儲存它們,這可以方便調用。常量可以包含引力、玩家速度或者其它你需要經常調用的值。如果你要創建常量文件,你需要將它們放到遊戲的文件夾中,然後以包的形式輸入。比如,你創建了一個常量文件,然後將它放到“Game”文件夾中。導入時,使用如下命令:

package{import Game.*;}

如何製作Flash遊戲 第16張

5、看看別人的遊戲。儘管大多數開發者不會透漏所有的遊戲代碼,但是有很多教程和其它開放項目的代碼可以供你參考,讓你瞭解代碼和它與對象的交互方法。這是一個很好的可以學習到很多進階技巧,從而讓你的遊戲更出色的方法。

熱門標籤