當前位置:妙知谷 >

遊戲數碼 >手機 >

如何製作Flash遊戲

如何製作Flash遊戲

Flash是網頁瀏覽器上很流行的動畫格式,很多網站中都能見到這種格式的遊戲。儘管面對日益增長的移動應用程序,Flash格式不再那麼流行,但是很多好玩的遊戲仍是採用Flash格式。Flash使用的語言是ActionScript,用它可以控制屏幕上出現的對象,而且十分易學。閲讀本文,學習如何製作一個簡單的Flash遊戲。

開始製作

(01)設計遊戲。在編寫代碼之前,你要對你的遊戲有個大概的設想。Flash適合製作一些比較簡單的遊戲,所以不要在遊戲中加入過多的傷腦筋的設計。先選擇一種遊戲的類型,並且構思幾種基本的設計,然後再開始製作。閲讀本文可以瞭解更多有關遊戲設計階段的內容。常見的Flash遊戲類型,包括:跑酷遊戲:遊戲中的人物一直在跑,而玩家需要控制人物跳過障礙物,或以其它方式躲過。玩家通常只有一兩種控制方式。橫軸格鬥遊戲:人物橫向移動,擊敗身邊的敵人才能繼續前進。這種遊戲中,通常有幾種不同的動作來擊敗敵人。解謎遊戲:這種遊戲需要讓玩家解出謎題,從而過關。謎題類型多種多樣,可以像《寶石迷陣》那種三消遊戲一樣簡單,也可以像是在冒險遊戲中出現的謎題一樣複雜。角色扮演遊戲:這類遊戲的核心在於角色的發展和提升,角色會在各種場景中遇到不同的敵人。儘管各個遊戲的戰鬥機制不完全相同,但是大多數還是回合制。角色扮演遊戲要比只有一個動作的遊戲要複雜得多。

如何製作Flash遊戲

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

如何製作Flash遊戲 第2張

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

如何製作Flash遊戲 第3張

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

如何製作Flash遊戲 第4張

寫一個基本的遊戲

(01)瞭解AS3代碼的基本構建塊。在製作遊戲的過程中,你可能會用到幾種不同的代碼結構。在AS3代碼中,主要有三種類型的代碼結構:變量 —— 這是用來儲存數據的地方。數據的類型種類很多,可以是數字、字符(字符串)、對象等等。使用var命令來定義變量,並且變量名只能是一個單詞。varplayerHealth:Number=;// “var”表示你要定義一個變量。// “playerHealth”是變量的名字。// “Number”是變量的類型。// “100”是變量中的數值。// 所有命令都以“;”結尾。事件處理器 —— 事件處理器會在特定的事發生時,告訴程序之後該如何運行。這是玩家在輸入和重複代碼時所必須用到的。事件處理器通常會調用函數。(K, swingSword);// “addEventListener()” 定義事件處理器的類型。// “MouseEvent”是事件的類型。// “K”是事件中的特定動作。// “swingSword”是事件發生後,需要用到的函數。函數 —— 部分代碼會有一個關鍵詞作為名字,方便之後調用。遊戲的運行離不開函數,複雜的遊戲可能會用到數百條函數,而簡單的遊戲可能只需要用到幾條函數。函數只有被調用時才會起作用,所以它們的順序無所謂。functionswingSword(e:MouseEvent):void;// “function”是每個函數之前都要有的關鍵詞。// “swingSword”是函數名。// “e:MouseEvent”是附加參數,表明函數是由該事件處理器調用的。// “:void”是函數的返回值。如果無數據返回,使用:void。

(02)創建對象。要製作遊戲,你必須創建可以和玩家互動的對象。根據教程的不同,“對象”可能會叫做“精靈”、“演員”或者“影片剪輯”。要製作這個簡單的遊戲,你需要創建一個長方形。打開Flash Professional。創建新的項目。點擊工具欄中的矩形工具。根據軟件的配置不同,工具欄的位置也會不同。在當前窗口中畫一個長方形。用選擇工具,選中長方形。

(03)給對象指定屬性。選中長方形之後,打開設計菜單,選擇“轉化為元件”(也可在選中之後,按下F8)。在“轉化為元件”窗口中,給你的對象命名,比如“敵人”。打開配置窗口。當鼠標懸停在窗口上方時,會出現一個叫“實例名”的空白文本框。輸入上一步中你給對象的命名(“敵人”)。這樣就創建了一個可以通過AS3語言交互的“名字”。每一個“實例”都是單獨的對象,都可以用代碼進行控制。點擊資源庫標籤,然後將實例拖進場景中,就可以複製已創建的實例。每添加一個實例,它的名字就會改變一次,以示區分(“敵人”、“敵人1”、“敵人2”等等)。要在代碼中使用對象,只需要輸入它的名字即可,本例中就是“敵人”。

(04)改變實例的屬性。生成一個實例之後,你可以通過AS3改變它的屬性。改變它的位置、調整它的大小,等等。輸入實例和參數的數字,中間以“.”分隔,就可以改變它的屬性:enemy.x = 150; 改變enemy在x軸上的位置。enemy.y = 150; 改變enemy在y軸上的位置。y軸是從屏幕頂端開始計算的。tion = 45;讓enemy順時針旋轉45度。eX = 3;將enemy的寬延長3倍。輸入負數的話,就會翻轉對象。eY = 0.5;將對象的高減半。

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

(06)利用上述信息製作一個遊戲。現在,你已經對它的核心功能有所瞭解了,現在你可以用它來製作一個小遊戲。遊戲是這樣的:每次點擊敵人都會改變它的大小,生命耗盡,遊戲結束。varenemyHP:Number=;// 將初始生命設為100。varplayerAttack:Number=;// 設定玩家的攻擊力。ventListener(K, attackEnemy);// 對對象使用這個函數,當對象被點擊時才會生效,點擊其它地方不會有效果。setEnemyLocation();// 這個函數可以設定“敵人”的位置,在遊戲開始時生效。functionsetEnemyLocation():void{enemy.x=;// 讓“敵人”向右移動200像素。enemy.y=;// 讓“敵人”向下移動150像素。tion=;// 讓“敵人”瞬時針轉動45度trace("enemy's x-value is", enemy.x,"and enemy's y-value is", enemy.y);// 顯示當前“敵人”的位置,從而進行調試。}functionattackEnemy(e:MouseEvent):void// 創建“敵人”被點擊時運行的函數。{enemyHP = enemyHP - playerAttack;// 從生命值中減去攻擊力,結果是剩餘的生命值。eX= enemyHP/;// 根據新的生命值,改變寬度。除以100,轉化為小數。eY= enemyHP/;// 根據新的生命值,改變寬度。trace("The enemy has", enemyHP,"HP left");//輸入“敵人”的生命值。}

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

進階技巧

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

(02)建立對象文件夾。如果你的遊戲當中需要用到很多圖片和生效,那麼你需要創建一個文件夾來保存它們。這可以方便你儲存不同的數據,以及需要的軟件包。創建根目錄,然後在根目錄中,創建“img”文件夾,用來儲存所有圖像;創建“snd”文件夾,用來儲存所有音效文件;創建“src”文件,用來儲存所有用到的包和代碼。在“src”文件夾中,創建“Game”文件夾,用來儲存遊戲中的常量文件。當然沒有必要將文件夾的結構弄成這樣,但是這可以方便你管理你的遊戲和素材,特別是要用到很多對象的遊戲。如果只是像上文中的小遊戲一樣簡單,你就不需要用到這種文件夾結構。

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

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

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

標籤: Flash 遊戲
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/shouji/5mdev.html