2008-11-27 25 views
5

現在我正在開發面向遊戲的小型畫布導向2D圖形引擎,並且一直在尋找幾個提示來應用於我的系統設計。但顯然,最經過戰鬥驗證的解決方案是閃存,所以我想知道Flash架構如何。我發現了一些關於Flash工作原理的資料,但大多數都是非常基本的,面向設計師和藝術家,但我想了解更多關於系統的內涵。我的下一步是下載Flex的源代碼並通過它進行瀏覽,但在此之前,我希望有一個「指南」來充分利用我在代碼庫中的時間。任何有關良好的在線資源和文章的建議?Flash如何工作?

謝謝!

編輯:爲了使它更清楚,我正在尋找閃光的內部運作,因爲在這裏我的目標是讓類似於閃存的東西,但不是那樣強大,當然,在一個瀏覽器插件不工作。唉純HTML + Javascript。

而且我不使用Flash作爲這樣的原因是因爲它不符合我的要求(免費+無插件),因爲我沒有我的目標平臺對Flash的支持,除了我重塑這裏的輪子是爲了娛樂和自我教育。哦,我已經知道如何使用Flash :)

+0

不是你的問題的直接答案,所以我把它作爲評論...你知道http://ejohn.org/blog/processingjs/嗎?它是JavaScript處理的一個端口,關閉了最終目標...... Dojo JS工具包還允許JS在IE和支持canvas的瀏覽器上繪圖。僅供參考。 – PhiLho 2008-11-27 13:50:13

+0

根本不回答我的問題,但這是一個非常好的項目,並且在許多方面與我所需要的類似,並且正在研究它。 – 2008-11-28 07:26:12

回答

7

那麼,在您的Flash內容的根是一個舞臺對象(Stage類的一個實例)。該階段是顯示對象樹的根節點,其中任何一個都可以包含圖形資源(線,文本字段等)或其他顯示對象。 Flash的工作原理是,每秒X次,Flash播放器將整個顯示樹繪製到屏幕上。玩家還從操作系統收集用戶輸入(KeyboardEvents等),並將它們傳送給任何已註冊的對象。

然後,您作爲內容創建者的工作就是用Flash引擎將爲您繪製屏幕的子節點(類型DisplayObject或任何子類)填充此舞臺。您可以使用像Sprite,MovieClip和TextField這樣的低級別子項填充這些內容,這些子級是Flash內容的基本構建塊,或者您可以實例化ScrollBarDataGrid,它們是具有常規復雜內部工作方式的高級組件。

當然,你可以擴展這些類的,包括自己的自定義的視覺效果或類邏輯,或者創建非可視類,不顯示樹的一部分。你也可以在其他Flash內容加載,或進行HTTP連接,等等,等等

這是所有假設你的意思AS3。這有幫助嗎?如果沒有,你將不得不提出更具體的問題。 ;)

+0

是的,它有幫助,但如果你有一些好的資源鏈接,它會更好。 – 2008-11-27 02:58:33

1

如果你打算做一個遊戲,遠離Flex的路程。說實話,查看源代碼可能會讓你感到困惑,而不是幫助你。 Flex對於GUI密集型應用程序非常有用,並且有助於加快此類產品的開發。但是,它不是很快,也不是特別適合遊戲。

Flash的主要優點之一就是你不必非常關心「內部工作」,儘管對它們的基本理解自然有幫助。

的Flash精簡版是相當不同,它充分的發展的大哥哥,所以不要把太多的照顧到這一點。

此外,爲了上帝的愛,學習Actionscript 3.0並遠離Actionscript 2. 3.0在每一種可以想象的方式(對我們來說至少是編碼器)都更好。

編輯:澄清: 關於術語Flash有一些混淆。這有三個部分,運行在瀏覽器中的插件,「技術本身」和創作工具。所有這些都簡稱爲Flash。 Flex更令人困惑。它是一個運行在Flash之上的框架。就像說,Swing for Java(我從來沒有使用過,所以比較可能是完全錯誤的)。您在Flex中所做的所有工作都可以在Flash中完成。 Flex是免費開源的,但IDE,Flex Builder不是。 即使您正在執行「純」動作項目,Flex Builder也非常有用。但也有許多更便宜的替代品。我個人比較喜歡FlashDevelop

相關問題