首頁 > web前端 > js教程 > JavaScript厄運

JavaScript厄運

Joseph Gordon-Levitt
發布: 2025-03-10 00:33:10
原創
469 人瀏覽過

經典遊戲《毀滅戰士》已通過 JavaScript 移植到瀏覽器運行,充分展現了這種全球最常用編程語言的能力。

JavaScript Doom

主要收穫:

  • 經典遊戲《毀滅戰士》已使用 JavaScript 移植到瀏覽器運行,展示了全球最常用編程語言的能力。
  • 儘管存在一些限制,例如在 Chrome 中運行緩慢且無法在 IE 中運行,但 JavaScript 版《毀滅戰士》在 Firefox 4 和 Opera 上運行良好,在中端 PC 上可達到每秒 20-30 幀。
  • 該遊戲使用 Emscripten 和 Clang 將 C 代碼編譯為 JavaScript,然後使用 Google 的 Closure Compiler 進行優化。視頻輸出渲染在標準的 HTML5 canvas 元素上,聲音則使用 Mozilla 的非標準 Audio Data API 處理。
  • 除了 JavaScript 版《毀滅戰士》外,Fabrice Bellard 還開發了一個 JavaScript 版的 x86 PC 模擬器,進一步證明了 JavaScript 在創建複雜交互式 Web 內容方面的潛力。

請原諒標題中明顯的點擊誘導。 JavaScript 很好。全球最常用的編程語言擁有光明的未來——尤其是在 id Software 的《毀滅戰士》被移植到瀏覽器運行之後!如果您感到興奮,請停止閱讀,點擊鏈接:developer.mozilla.org/demos/detail/doom-on-the-web/ (注:此鏈接目前可能失效,請參考YouTube上的視頻。)該遊戲可在 Mozilla 的 Demo Studio 獲取;該資源在 Firefox 和其他瀏覽器中展示了 HTML5、CSS3 和 JavaScript 技術。

如果您從未聽說過《毀滅戰士》,它是一款於 1993 年發布的 PC 版第一人稱射擊遊戲。雖然它不是第一款第一人稱射擊遊戲——id Software 的《雷神之鎚 3D》可以稱得上是鼻祖——但《毀滅戰士》徹底革新了該類型遊戲。其開創性的 3D 圖形、多人遊戲和血腥的電鋸暴力場景,成為了許多當今大型遊戲的靈感來源。

根據現代標準,《毀滅戰士》已經顯得有些過時。它擁有過時的塊狀 VGA 圖形、2D 地圖(走道不能相互重疊)和有限的控制(不能跳躍或垂直瞄準)。但遊戲性仍然令人驚嘆,《毀滅戰士》已被移植到各種遊戲機和掌上設備。現在,它已被移植到 JavaScript,無需插件即可在瀏覽器中運行。

不幸的是,JavaScript 版《毀滅戰士》在 Chrome 中運行速度非常慢,並且無法在 IE 中運行。據報導,某些版本的 Safari 可以運行,但這在我的 5.0.5 版本中並非如此。但是,它在 Firefox 4 和 Opera 上運行良好;中端 PC 應該可以達到每秒 20-30 幀——可能比我 1993 年玩《毀滅戰士》時使用的舊 486 還要好!雖然有一些圖形故障,但仍然可以玩。

令人驚奇的是,該遊戲使用 Emscripten 和 Clang 將 C 代碼編譯為 JavaScript,然後使用 Google 的 Closure Compiler 進行優化。視頻輸出渲染在標準的 HTML5 canvas 元素上。聲音使用 Mozilla 的非標準 Audio Data API 處理,但效果很差,您可能不會想要使用它!如果您有興趣,可以下載源代碼,儘管 JavaScript 已被壓縮且難以閱讀。

如果您認為這令人印象深刻……

Fabrice Bellard 開發了一個 JavaScript 版的 x86 PC 模擬器。只是為了好玩。它可以在所有最新的瀏覽器中運行,因此他安裝了 2.6.20 Linux 內核並發布了一個基於瀏覽器的模擬器。是的,它在一個網頁中運行 Linux。演示版僅限於在 HTML 表格中渲染的終端輸出,但其意義非凡。我唯一擔心的是有人會添加 X11,安裝瀏覽器並遞歸地使 Web 崩潰!您是否見過其他優秀的尖端 JavaScript 示例?

(以下為 FAQ 部分,內容與原文基本一致,只是調整了表達方式和順序,並精簡了一些重複信息。)

關於 JavaScript 版《毀滅戰士》的常見問題 (FAQ)

  • 什麼是 JavaScript 版《毀滅戰士》? JavaScript 版《毀滅戰士》是經典視頻遊戲《毀滅戰士》的一個版本,它已使用 JavaScript 重寫,可在 Web 瀏覽器中運行。這使得遊戲可以在任何裝有 Web 瀏覽器的設備上運行,無需任何額外的軟件或插件。遊戲保留了所有原始功能,包括圖形、音效和遊戲機制,為原始《毀滅戰士》的粉絲提供了懷舊的遊戲體驗。

  • JavaScript 版《毀滅戰士》是如何工作的? JavaScript 版《毀滅戰士》通過結合使用 HTML5 和 JavaScript 來在 Web 瀏覽器中重現原始的《毀滅戰士》遊戲。遊戲代碼是用 JavaScript 編寫的,這是一種可以直接在 Web 瀏覽器中運行的編程語言。遊戲的圖形使用 HTML5 渲染,HTML5 是一種允許創建交互式 Web 內容的標記語言。這些技術共同實現了在 Web 瀏覽器中運行完全可玩版本的《毀滅戰士》。

  • 我可以修改 JavaScript 版《毀滅戰士》嗎? 可以,您可以修改 JavaScript 版《毀滅戰士》。該遊戲的源代碼可在 GitHub 上免費獲得,允許任何了解 JavaScript 和 HTML5 的人對其進行修改。這可能包括更改遊戲圖形、音效或遊戲機制,甚至向遊戲中添加新功能或關卡。

  • JavaScript 版《毀滅戰士》合法嗎? 是的,JavaScript 版《毀滅戰士》是合法的。 《毀滅戰士》原始遊戲於 1997 年由其創建者 id Software 發佈為開源軟件。這意味著任何人都可以自由使用、修改和分發遊戲的代碼,只要他們遵守原始許可證的條款即可。 JavaScript 版《毀滅戰士》是原始《毀滅戰士》遊戲的衍生作品,因此也受此許可證的保護。

  • 如何玩 JavaScript 版《毀滅戰士》? 要玩 JavaScript 版《毀滅戰士》,您只需要一個支持 HTML5 和 JavaScript 的 Web 瀏覽器即可。這包括大多數現代 Web 瀏覽器,例如 Google Chrome、Mozilla Firefox 和 Microsoft Edge。只需導航到 JavaScript 版《毀滅戰士》網站,遊戲就會直接在您的瀏覽器中加載。無需任何額外的軟件或插件。

  • 我可以在移動設備上玩 JavaScript 版《毀滅戰士》嗎? 可以,您可以在移動設備上玩 JavaScript 版《毀滅戰士》。該遊戲旨在在任何支持 HTML5 和 JavaScript 的 Web 瀏覽器中運行,其中包括大多數現代智能手機和平板電腦上的瀏覽器。但是,遊戲的控制可能沒有針對觸摸輸入進行優化,因此您的體驗可能會因設備而異。

  • JavaScript 版《毀滅戰士》有多人遊戲模式嗎? 目前沒有。遊戲是單人遊戲體驗,允許您獨自玩原始《毀滅戰士》戰役。但是,由於遊戲的源代碼可在 GitHub 上獲得,因此第三方開發者將來可能會添加多人遊戲功能。

  • 我可以保存 JavaScript 版《毀滅戰士》的遊戲進度嗎? 可以。遊戲使用 Web 瀏覽器的本地存儲功能來保存您的進度,允許您即使關閉瀏覽器或關閉計算機也能從上次中斷的地方繼續遊戲。但是,請注意,如果您清除瀏覽器的本地存儲,您的保存數據將會丟失。

  • JavaScript 版《毀滅戰士》是免費的嗎? 是的,JavaScript 版《毀滅戰士》是免費遊戲。該遊戲是一個非商業項目,由原始《毀滅戰士》遊戲的粉絲創建,供他人娛樂。遊戲的源代碼也免費提供在 GitHub 上,允許任何人免費下載、修改和分發遊戲。

  • 我可以為 JavaScript 版《毀滅戰士》的開發做出貢獻嗎? 可以。該遊戲的源代碼託管在 GitHub 上,這是一個允許協同軟件開發的平台。如果您了解 JavaScript 和 HTML5,您可以通過修復錯誤、添加新功能或提高遊戲性能來為遊戲的開發做出貢獻。

以上是JavaScript厄運的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板