首頁 > web前端 > js教程 > 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯

使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯

William Shakespeare
發布: 2025-02-25 17:38:13
原創
781 人瀏覽過

使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯

鑰匙要點

  • 遊戲循環是任何遊戲的心跳,是一個每秒運行多次的函數,並且有兩個主要作業
  • 更新正在發生的事情並繪製新場景。 Easeljs ticker類用於管理遊戲循環的時間安排,暫停/恢復遊戲循環並測量經過的時間。
  • 遊戲邏輯涉及添加用於發射鏡頭,更新顯示器,移動射擊,處理命中和結束遊戲的功能。 easeLjs displayObjects支持一個hittest()方法,這使得可以輕鬆查看當前對象的位置是否存在點。
這是四個星期內四個帖子的系列中的第三部,它將向您展示如何使用HTML5,JavaScript,Winjs和CreateJS創建一個簡單的Windows 8遊戲。 該遊戲基於XNA樣本遊戲“彈射戰爭實驗室”。當我們為Windows 8開發基於Web技術的Windows 8的新版本時,我們將重複使用該遊戲的資產。 在這篇文章中,我們將使用一些遊戲邏輯和JavaScript將事物栩栩如生。

遊戲循環

任何遊戲的心跳是遊戲循環。  這是一個每秒多次運行的函數,並具有兩個主要作業 - 更新發生的事情,然後繪製新場景。 在第2部分中,我們已經進行了大綱: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 現在的問題是,我們如何啟動gameloop()函數並保持每秒多次運行?

easeljs ticker class

幸運的是,Easeljs的股票類別具有我們將使用的一些功能:
  • 管理遊戲循環的時機
  • 暫停/恢復遊戲循環
  • 測量經過的時間
這是一個靜態類,因此我們可以開始使用它。  在default.js中,添加一個新的startGame()函數,並在prepargame()末尾調用它: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 在這裡,我們告訴使用window.requestanimatimationframe來控制Gameloop函數的頻率。 requestAnimationFrame是Web應用程序的相對較新的API,可幫助確保不必要地完成工作。  要了解為什麼這比設置固定計時器(例如使用Settimeout())更好,請參見IE測試驅動器網站上的RequestAnimationFrame樣本。 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 每當RequestAnimationFrame準備就緒時,我們的遊戲循環都會運行。

“準備好,瞄準,開火!”

好的,現在我們有一個遊戲循環的遊戲,所以是時候添加一些樂趣了! 每個玩家/彈射器都將向另一個發射彈藥/岩石。  我們需要知道目前是否開槍,轉彎是誰以及鏡頭的移動方式。 首先,讓我們添加更多變量到default.js: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 現在,讓我們通過將以下內容添加到update()函數: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 目前,兩個玩家都會自動發射(以隨機的速度發射)。  AmmobitMap移至射擊彈射器的頂部中心,並在有界範圍內給予射速值(按屏幕分辨率調整)。 我們還將添加一個fireshot()功能以顯示鏡頭並告訴遊戲中的遊戲: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯  

更新顯示

在我們在空中移動鏡頭之前,讓我們專注於遊戲循環方程式的第二半部分 - 繪製到屏幕上。  這通常非常複雜,但是Easeljs階段會照顧我們的內容(所有孩子 - 位圖,文字等 - 我們添加到舞台上),因此我們需要:這就是我們所需要的: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 就是這樣!  如果您運行遊戲,則玩家1將自動開槍,而射門將出現在紅色彈射器上… 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 …但是它不會讓人感到不安。  讓我們走動。

移動射擊

讓我們返回到update()函數,然後將邏輯添加到if(shotFlying)語句中: 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 不要運行它,我們仍然需要兩個功能,但這是發生的事情:
  • 線149&150 - 通過添加速度(可能為負數和/或左)移動鏡頭
  • 第151行 - 將重力應用於慢速
  • 線153-155 - 鏡頭是否撞到了屏幕的左側或右邊緣?
  • >第157-160行 - 錯過 - 結束射門和更改播放器
  • >
  • >行162-168 - 播放器1的射門 - 查看是否命中播放器2。如果是,則更新玩家2的生活。
  • 行169-175 - 播放器2的射門 - 查看是否命中播放器1。如果是,則更新玩家1的生活。
  • >
  • 讓我們添加校園(位圖) 功能:
  • 關於Hittest的話題是什麼?  easeljs displayObjects(基於哪個位圖)支持hittest()方法,這使得很容易查看當前對象的位置是否存在點。  不幸的是,我們正在縮放對象,而Hittest僅適用於原始尺寸,因此我們需要檢查自己的命中率。  只是一點點數學,我們已經設定了。
處理命中使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 現在,添加

processHit()

函數: 這只是結束射門,改變玩家,並確保遊戲還沒有結束。 結束遊戲使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 讓我們結束遊戲結束這篇文章。  添加最終遊戲(圖像)函數:

就是這樣!  現在,您可以運行遊戲,看看誰獲勝。

使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯下一步是什麼? 使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯 我們在這一部分中增加了很多東西 - 事情正在繪畫,移動,擊球,結局……但是有兩個張開的孔。  首先,播放器實際上沒有玩,因此我們將接下來添加輸入處理。  其次,事情非常安靜,尤其是對於戰爭,所以我們也會折騰一些聲音。 到第4部分:下週!

經常詢問有關使用JavaScript創建簡單Windows 8遊戲的問題

>如何開始使用Windows 8的JavaScript創建遊戲?您還需要安裝Visual Studio,這是Windows 8應用程序的開發環境。擁有這些先決條件後,您可以首先在Visual Studio中創建一個新項目並選擇“空白應用程序”模板。從那裡,您可以開始在JavaScript中編寫遊戲邏輯,並使用HTML5和CSS設計遊戲界面。

>

>我可以使用JavaScript創建的遊戲示例是什麼?可以用來創建各種遊戲的編程語言。一些示例包括益智遊戲,策略遊戲,平台遊戲,甚至3D遊戲。可能性是無窮無盡的,借助正確的工具和資源,您可以創建您可以想像的任何類型的遊戲。

>如何在JavaScript遊戲中添加互動性?這些是發生特定事件時會觸發的功能,例如鼠標單擊或按鍵按下。例如,當用戶單擊遊戲元素或“ onkeydown”事件時,您可以使用“ onclick”事件觸發功能測試和調試我的JavaScript遊戲?

測試和調試是遊戲開發的關鍵部分。 Visual Studio提供了一個強大的調試工具,可讓您瀏覽代碼,檢查變量並確定任何錯誤或錯誤。您還可以使用控制台登錄消息並跟踪代碼的執行。

>如何優化我的JavaScript遊戲以進行性能?

>優化性能的JavaScript遊戲涉及許多技術。其中包括最大程度地減少全局變量的使用,使用RequestAnimationFrame用於遊戲循環,優化您的圖像和資產以及使用有效的遊戲邏輯算法。在各種設備和瀏覽器上測試遊戲以確保其運行順利也很重要。

>如何在我的JavaScript遊戲中添加聲音和音樂?使用HTML5音頻API進行JavaScript遊戲。這使您可以加載和播放聲音文件,控制音量,甚至創建聲音效果。您還可以使用諸如howler.js之類的庫來簡化過程並添加更高級的音頻功能。

>一旦完成開發後,我如何在Windows Store上發布我的JavaScript遊戲?您的遊戲,您可以通過創建商店帳戶,註冊您的應用並提交認證來將其發佈在Windows Store上。您需要提供有關遊戲的屏幕截圖,描述和其他信息。一旦您的遊戲獲得批准,它將可以在Windows Store上下載。

我可以將我的JavaScript遊戲貨幣化嗎?

是的,您可以以多種方式將JavaScript遊戲貨幣化。一種選擇是在Windows Store上出售您的遊戲。您還可以包括應用內購買,玩家可以購買其他內容或功能。另一個選擇是在您的遊戲中顯示廣告,儘管應該很少這樣做以避免破壞遊戲玩法的體驗。

>

我可以使用JavaScript為其他平台創建遊戲嗎?不限於Windows 8或任何特定平台。借助正確的工具和庫,您可以創建在各種平台上運行的遊戲,包括Web瀏覽器,移動設備甚至遊戲機。一些與JavaScript進行跨平台遊戲開發的流行庫,包括Phaser,Pixi.js和Trix.js。

我在哪裡可以通過JavaScript了解有關遊戲開發的更多信息? W3Schools,Mozilla開發人員網絡和CodeCademy等網站提供了有關JavaScript和遊戲開發的教程和指南。還有很多書籍,在線課程和論壇,您可以在這裡學習和獲得其他開發人員的幫助。

以上是使用JavaScript創建一個簡單的Windows 8遊戲:遊戲邏輯的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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