使用Flex和Actionscript開發Flash遊戲

本文將告訴你使用何種工具開發遊戲以及使用Flex和Actionscript開發遊戲的第一步。


入門

Adobe已經提供了你需要開發遊戲的全部——Flash Player和Flex SDK。使用Flex開發遊戲有以下一些優勢:

- 跨平臺兼容性——Flash Player支持所有的主流平臺。
- 容易部署——發佈一個遊戲如同上傳一個swf文件一樣簡單。
- (幾乎)不需要安裝——僅僅需要你的瀏覽器安裝了Flash Player。
- 免費的工具——只需要免費的Flex SDK和一個文本編輯器即可。

本文的一系列文章將一步一步帶領你使用Flex完成一個2D flash遊戲開發——一個傳統的豎版射擊遊戲。

首先第一步是下載Flex 3 SDK(http://www.adobe.com/products/flex/flexdownloads/)。這個SDK包含了所有用於編譯文中源文件爲網頁可用swf文件的工具。同時,你也需要一個文本編輯器,我很喜歡Textpad,可以在這裏下載到: http://www.textpad.com/。最後你需要下載一個debug版本的flash playerhttp://www.adobe.com/support/flashplayer/downloads.html。debug版本的flash player可以讓你直接打開SWF文件而不需要爲SWF創建一個網頁(譯者注:該說法並不準確。stand-alone版本的flash player都可以直接打開swf,而debug版本的flash player能夠在運行時錯誤時彈出錯誤信息,release的則不會)。接下來,我們開始準備敲代碼吧!

遊戲中使用的圖片元素來自spritelib庫的courtsey,可以在這裏下載:http://www.flyingyogi.com/fun/spritelib.html


創建應用程序

從概念上講,Flex將一個程序分爲兩個部分:圖形界面以及Actionscript代碼。圖形界面使用MXML文件,它是一種包含了用戶界面元素標籤的XML文件,類似於HTML。注意:儘管在MXML文件的mx:Script標籤中也可以使用Actionscript代碼,但是MXML主要用於定義用戶界面。

MXML頂層是mx:Application標籤。這裏是一個Flex應用的入口,是大多數邏輯開始的地方。

main.mxml源代碼

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application
  3. xmlns:mx="http://www.adobe.com/2006/mxml"
  4. layout="absolute"
  5. width="600"
  6. height="400"
  7. frameRate="100"
  8. creationComplete="CreationComplete()"
  9. enterFrame="EnterFrame(event)">
  10. <mx:Script><![CDATA[
  11. public function CreationComplete():void
  12. {
  13. }
  14. public function EnterFrame(event:Event):void
  15. {
  16. }
  17. ]]></mx:Script>
  18. </mx:Application>
複製代碼

我們從定義Application object屬性開始。類似HTML的寫法,這些屬性可以直接標註在mx:Application標籤中。

width和height

指定了程序在屏幕中顯示的寬高像素

framerate

指定了每秒幀數上限。默認爲24,但是由於遊戲需要運行得近可能流暢,建議將此值設得高一些。注意:將此值設爲100並不能保證程序一直在100fps(或者說接近這個值)下運行。這個值僅僅是一個可能達到的峯值。

creationComplete

當程序創建完成後關聯一個方法。我們使用這個方法作爲程序入口。

enterFrame

每次屏幕重繪時執行的方法。我們使用這個方法重繪下一幀。

mx:Script標籤中提供了一個可以寫Actionscript代碼的地方。[CDATA[]]標籤僅僅表示mx:Script標籤中的字符將被認爲是字符,而不是XML元素。在mx:Script標籤中我們添加creationComplete和enterFrame兩個方法。


編譯及運行

編譯這個程序,需要在命令行窗口中運行mxmlc main.mxml。你可以使用Flash debug player打開生成的swf。

結果是怎樣的?就是一個空窗口,什麼都還沒有。並不是很令人興奮,但是這僅僅是我們的開始。在這個系列的第二篇中,我們將在屏幕上繪製一些東西。

可以這裏試玩我們的遊戲:http://flexfighters.sourceforge.net/flexfighters1.html
這裏可以下載源代碼: https://sourceforge.net/project/ ... p;release_id=631084

原文:http://www.brighthub.com/internet/web-development/articles/11010.aspx

 

發佈了24 篇原創文章 · 獲贊 2 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章