天天看點

Flash遊戲開發技術分析(上)

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/4648516

Flash遊戲開發技術分析(上)

1、與Flash遊戲相關的檔案類型

與Flash遊戲相關的檔案類型有多種,最常用的有三種:.fla、.flv和.swf。

1).FLA

FLA檔案是Flash項目檔案,在建立Flash遊戲時,首先會建立.FLA檔案來建立遊戲。然後會花大量時間編寫FLA檔案的内容。當Flash遊戲開發完成,可以放到Web上時,需要建立.SWF檔案。

FLA檔案包含了Flash應用的源檔案。

Flash Authoring軟體可以編輯FLAsh檔案,并編譯生成SWF檔案。

2).SWF

SWF是Small Web Format的縮寫,SWF檔案目前實際上主要用于Web上的動畫矢量圖,遠遠領先于W3C的開放标準SVG。.SWF檔案可嵌入到HTML,是以可以被Web浏覽器浏覽,也可以被Flash Player播放。SWF還可用于應用程式,最常見的是用于遊戲(會使用ActionScript)。

SWF檔案是完整的、編譯後且已釋出的檔案。

可使用Adobe Flash或Flex Builder等開發工具生成SWF檔案。

3).FLV檔案

FLV是Flash Video的簡稱,是一種流行的網絡視訊格式。

FLV串流媒體格式是一種新的視訊格式,它的出現有效地解決了視訊檔案導入Flash後,使導出的SWF檔案體積龐大,不能在網絡上有效使用等缺點。

一般FLV檔案包在SWF PLAYER的殼裡,并且FLV可以很好的保護原始位址,不容易被下載下傳,進而起到保護版權的作用。

FLV檔案可由Adobe Flash軟體所建立。

FLV檔案的音視訊資料的編碼方式與其在SWF檔案的編碼方式相同。

2、ActionScript 3.0語言

ActionScript 3.0是一門腳本語言,可用于Flash遊戲的開發。ActionScript語言與JavaScript語言類似,兩者都遵循ECMA 262标準。

ActionScript語言與JavaScript語言兩者的差別在于:

    * ActionScript 不支援特定于浏覽器的對象,例如 Document、Window 和 Anchor。

    * ActionScript 沒有為所有 JavaScript 内置對象都提供支援。

    * ActionScript 不支援某些 JavaScript 文法構造,例如語句标簽。

    * 在 ActionScript 中,eval() 函數隻能執行變量引用。

    * ActionScript 2.0 支援 ECMA-262 規範中沒有的一些功能,例如類和強類型。這些功能中的很多功能都取自 ECMAScript (ECMA-262) 第 3 版語言規範(請參見 www.ecma-international.org/publications/standards/Ecma-262.htm)。

    * ActionScript 不支援使用 RegExp 對象的正規表達式。但是,Macromedia Central 卻支援 RegExp 對象。有關 Macromedia Central 的更多資訊,請通路 www.macromedia.com/software/central。

ActionScript語言調用JavaScript語言的方法:

為了從JavaScript調用ActionScript的方法,你必須确認以下檔案都需包含到文檔内:

    <script type="text/javascript" src="/path/to/Exception.js"></script>

    <script type="text/javascript" src="/path/to/FlashTag.js"></script>

    <script type="text/javascript" src="/path/to/FlashSerializer.js"></script>

    <script type="text/javascript" src="/path/to/FlashProxy.js"></script>

    <script type="text/vbscript" src="/path/to/VBCallback.vbs"></script>

3、ActionScript腳本放置的位置

您可以将ActionScript腳本直接放在時間軸的關鍵幀的影片剪輯或按鈕處,或是影片剪輯的關鍵幀處,或在外部檔案中。不推薦把代碼直接放在影片剪輯或按鈕處,因為這種方式建立的代碼往往難以維護。把代碼放置在外部檔案中,并在時間軸中置入是很好的做法。

4、Adobe Flash CS 3提供的視訊部署方式

  · Progressive download from a web server

  放置于Web伺服器上,以進度條的方式加載到本地(浏覽器)

  · Stream from Flash Video Streaming Service

  從Flash視訊流服務串流

  · Stream from Flash Media Server

  從Flash媒體伺服器串流

  · As mobile device video bundled in SWF

  · Embed video in SWF and play in timeline

  · Linked QuickTime video for publishing to QuickTime

5、流行的、專業的視訊編輯工具

  · Adobe Premiere Pro CS4

  · Adobe After Effects CS4

  · Apple Final Cut Pro 7

還有兩個免費工具:

  · Windows Movie Maker

  · Apple iMovie

6、風險

我們面對的真正問題是Adobe處在開源與閉源的夾縫中,比如Flash,它絕大部分是開源的,但并不徹底。Adobe的Ludwig說,我們盡可能讓它開源,但有一些編碼技術還存在着限制,我們将盡力而為。

繼續閱讀