搜尋
首頁web前端js教程使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音

使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音

這一系列帖子將向您展示如何使用HTML5,JavaScript,Winjs和CreateJS創建簡單的Windows 8遊戲 。 該遊戲基於XNA樣本遊戲“彈射戰爭實驗室”。當我們為Windows 8開發基於Web技術的Windows 8的新版本時,我們將重複使用該遊戲的資產。 在這篇文章中,我們將響應用戶輸入,並通過添加聲音使事情變得更加活躍。

鑰匙要點

  • >教程演示瞭如何使用HTML5,JavaScript,Winjs和CreateJS創建一個簡單的Windows 8遊戲,並且該遊戲基於XNA示例遊戲“ Catapult Wars Lab”。
  • >該遊戲旨在以各種形式響應用戶輸入,例如鼠標,觸摸,筆甚至手勢,並實現了MSPOINTER系統和MSGESTURE,用於檢測TAP和Double-Tap等手勢。
  • >。
  • 遊戲還使用html音頻元素和預羅德J.

>處理用戶輸入

當然,我們可以通過許多方式拍攝瞄準工作 - 基於時間,基於精度的隨機工作(例如“單擊…現在!”),但是在這種情況下,我們將讓用戶畫一條線,指示方向和速度。 首先,讓我們添加默認值頂部附近的新變量:js: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 Windows 8支持繪製的幾種方法 - 鼠標,觸摸,筆 - 我們的遊戲需要足夠靈活,以支持用戶擁有的任何方法。  幸運的是,MSPOINTER系統將對所有這些的支持結合在一起。  我們將使用MSPOTROWNDOWN/UP開始和最終目標,以及MSPOInterMove以在用戶調整目標時提供反饋。 順便說一句,通過MSGENTURE可以通過MSDECTURE(例如Dable,Double-Tap等)進行大力支持。處理輸入和手勢的一個很好的例子是MSDN上的“ Ballineight”樣本。 這些事件是通過指向偵聽器函數(在開火時調用)來使用的。  現在就考慮到這一點,添加在初始化()函數的頂部附近: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 現在,對於函數本身:添加您喜歡的位置,但是我放在update()和fireshot()之間: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 請注意,練習留在這裡。  為了簡單起見,我省略了以AIM%和/或在Adjudaim()函數期間繪製瞄準箭頭的文本。  繼續嘗試添加 - 從早期的部分中,我們已經使用了所需的相同技術。 以及幫助我​​們計算目標的功能: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 同樣,簡單性統治了一天,這僅適用於玩家1,但這是發生的事情:
  • 行239-241 - 從距離到終點創建一個新點。  將其縮小到一個良好的速度,以適用於每個幀/更新。
  • >
  • 行242&244 - 確保X和Y受到限制,以免鏡頭從屏幕上消失,太快
  • >
  • 第243和245號線 - 確保射擊朝敵人投入……或多或少。
我們早些時候添加了一些臨時代碼以使player 1始終隨機觸發()。  現在,我們可以替換使用新的Aimvector: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 繼續進行遊戲… 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 現在,您可以使用鼠標,筆或觸摸來控製鏡頭!

“我一定是在聽東西!” - 添加聲音

直到我們有聲音,我們作為遊戲開發的工作才能完成。  我們已經在第2部分中添加了聲音文件,因此讓我們加載下一步。 首先,在默認值中有幾個變量,以使情況保持整潔: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 從第2部分中回想一下,我們已經對PRELOADJS進行了啟動,以確保遊戲開始時我們的資源準備就緒?  我們可以在聲音中使用相同的方法,所以讓我們將它們添加到清單中: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 要使用這些文件,我們將創建HTML音頻元素的實例。  長話短說,如果您只是每個聲音文件創建一個音頻實例,那麼您可能會遇到剪輯,因為一個聲音在該實例的先前播放之前就無法播放。  有幾種處理此問題的方法(例如,請參閱“ HTML5音頻和JavaScript控件” ),但是我們將每次播放聲音時都使用一個實例來做一個簡單的&效率低下的事情。 請注意,在此示例中,我們不會使用Soundjs(CreateJS的另一部分),但是當然,歡迎您將其旋轉! 添加彈奏(文件)助手功能: 就是這樣!  現在,我們只稱呼它,指定指向正確文件的常數。  我們將在幾個地方這樣做。 首先,將呼叫添加到FireShot(): 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 現在,ProcessHit(): 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 正如評論所提到的那樣,如果您想獲得多次擊球來摧毀彈射器,則可以使用“命中”聲音而不是“爆炸”。 最後,在Endgame()中播放End Win或失去聲音: 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音 繼續嘗試嘗試一下。 使用JavaScript創建一個簡單的Windows 8遊戲:輸入和聲音遊戲在……上面……以及……

> 恭喜!  您已經做了一場比賽! 在這些帖子中,我們已經涵蓋了很多基礎,但是像其他任何東西一樣,還有很多其他事情要嘗試。  為什麼不對其中一些刺傷?

屏幕調整 - 肖像/景觀,捕捉/填充。  了解CSS媒體查詢的絕佳機會! >
    改進觸摸/手勢支持
  • 精靈/動畫 - 射擊/錯過,彈射回調/火災,彈射器被摧毀
  • >遊戲動力學 - 添加風,新場景,新的彈射功能/升級,彈藥中的選擇等。
  • >
  • >在背景中添加山和移動的雲(資產已經存在)
  • >
  • >在當前非常>人工智能中添加一些智能
  • 考慮使用現場瓷磚 - 也許顯示玩家的最後/高分?
  • >
  • 享受!  期待聽到您添加的新事物!
經常詢問有關使用JavaScript創建簡單Windows 8遊戲的問題

>如何在遊戲字符中添加更複雜的運動?

以在遊戲字符中添加更多複雜的動作,您可以使用“ requestAnimationFrame”方法。此方法使您可以通過調用動畫功能在瀏覽器的下一個重新塗抹之前調用動畫功能來創建更光滑的動畫。您可以使用此方法根據用戶輸入或遊戲邏輯來更新遊戲字符的位置。例如,當用戶按特定的鍵時,您可以使用它來使角色跳躍。

>如何為遊戲添加聲音效果?

>在遊戲中添加聲音效果可以增強遊戲體驗。您可以在JavaScript中使用“音頻”對象播放聲音文件。要播放聲音,您需要創建一個新的音頻對象並調用“播放”方法。您還可以分別使用“卷”,“循環”和“暫停”方法來控制音量,循環聲音,並停止聲音。

>如何使我的遊戲對不同的屏幕尺寸響應?為了使您的遊戲響應迅速,您可以在JavaScript中使用'window.innerwidth'和'window.innerheight'屬性。這些屬性分別返回瀏覽器窗口的寬度和高度。您可以使用這些屬性根據瀏覽器窗口的大小來調整遊戲元素的大小和位置。

>

>如何將多人遊戲功能添加到我的遊戲?

>您的遊戲可能很複雜。您將需要使用Websocket來啟用玩家之間的實時通信。您還需要處理諸如延遲和同步等問題。

如何優化我的遊戲以提高性能?

>

>有幾種方法可以優化您的遊戲以提高性能。一種方法是將“ RequestAnimationFrame”方法用於動畫。此方法比“ setInterval”或“ settimeout”更有效,因為當用戶切換到另一個選項卡時,它會暫停動畫。另一種方法是最大程度地減少全局變量和關閉的使用,因為它們可以佔據很多內存。

>我如何在遊戲中添加觸摸控件?

以在遊戲中添加觸摸控件,您可以在JavaScript中使用“ touchstart”,“ touchMove”和“ touchend”事件。當用戶觸摸屏幕,移動手指並分別舉起手指時,這些事件會發射。您可以使用這些事件來控制遊戲角色的運動。

>如何在Windows商店中發布我的遊戲?

>

以在Windows商店中發布您的遊戲,您需要創建Windows Store開發人員帳戶。有帳戶後,您可以提交遊戲以進行認證。如果您的遊戲通過了認證過程,它將發佈在Windows商店中。

如何在遊戲中添加應用程序內購買? ,您需要使用Windows.ApplicationModel.store名稱空間。此名稱空間提供了您需要實現應用內購買的類和方法。

如何在遊戲中添加成就?

才能在遊戲中添加成就,您可以使用Windows。 ApplicationModel.userDataAccounts名稱空間。此名稱空間提供了您需要實現成就的類和方法。

如何在不同設備上測試我的遊戲?

在不同的設備上測試您的遊戲,您可以使用Windows Device Portal 。此工具允許您在Windows設備上進行遠程調試和測試。

>

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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
在JavaScript中替換字符串字符在JavaScript中替換字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

自定義Google搜索API設置教程自定義Google搜索API設置教程Mar 04, 2025 am 01:06 AM

本教程向您展示瞭如何將自定義的Google搜索API集成到您的博客或網站中,提供了比標準WordPress主題搜索功能更精緻的搜索體驗。 令人驚訝的是簡單!您將能夠將搜索限制為Y

8令人驚嘆的jQuery頁面佈局插件8令人驚嘆的jQuery頁面佈局插件Mar 06, 2025 am 12:48 AM

利用輕鬆的網頁佈局:8 ESTISSEL插件jQuery大大簡化了網頁佈局。 本文重點介紹了簡化該過程的八個功能強大的JQuery插件,對於手動網站創建特別有用

構建您自己的Ajax Web應用程序構建您自己的Ajax Web應用程序Mar 09, 2025 am 12:11 AM

因此,在這裡,您準備好了解所有稱為Ajax的東西。但是,到底是什麼? AJAX一詞是指用於創建動態,交互式Web內容的一系列寬鬆的技術。 Ajax一詞,最初由Jesse J創造

什麼是這個'在JavaScript?什麼是這個'在JavaScript?Mar 04, 2025 am 01:15 AM

核心要點 JavaScript 中的 this 通常指代“擁有”該方法的對象,但具體取決於函數的調用方式。 沒有當前對象時,this 指代全局對象。在 Web 瀏覽器中,它由 window 表示。 調用函數時,this 保持全局對象;但調用對象構造函數或其任何方法時,this 指代對象的實例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。這些方法使用給定的 this 值和參數調用函數。 JavaScript 是一門優秀的編程語言。幾年前,這句話可

10張移動秘籍用於移動開發10張移動秘籍用於移動開發Mar 05, 2025 am 12:43 AM

該帖子編寫了有用的作弊表,參考指南,快速食譜以及用於Android,BlackBerry和iPhone應用程序開發的代碼片段。 沒有開發人員應該沒有他們! 觸摸手勢參考指南(PDF)是Desig的寶貴資源

通過來源查看器提高您的jQuery知識通過來源查看器提高您的jQuery知識Mar 05, 2025 am 12:54 AM

jQuery是一個很棒的JavaScript框架。但是,與任何圖書館一樣,有時有必要在引擎蓋下發現發生了什麼。也許是因為您正在追踪一個錯誤,或者只是對jQuery如何實現特定UI感到好奇

如何創建和發布自己的JavaScript庫?如何創建和發布自己的JavaScript庫?Mar 18, 2025 pm 03:12 PM

文章討論了創建,發布和維護JavaScript庫,專注於計劃,開發,測試,文檔和促銷策略。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),