《HTML5 2D游戲編程核心技術》——第1章,第1.3節特別功能

本節書摘來自華章出版社《HTML5 2D游戲編程核心技術》一書中的第1章,第1.3節特別功能,作者[美] 戴維·吉爾里,更多章節內容可以訪問云棲社區“華章計算機”公眾號查看。

1.3 特別功能

Snail Bait游戲有3個特別的功能,既能為游戲帶來加分,又能讓游戲測試更加便捷,它們分別是:
開發者后門
時間系統
粒子系統
當你按下Ctrl+D組合鍵時,Snail Bait游戲就會顯示開發者后門,如圖1.11所示。當開發者后門處于可見狀態時,你可以通過控制游戲時間流逝的速率來緩慢地運行游戲,以便觀察游戲中諸如碰撞檢測這樣的事件是如何發生的。反過來,你也可以加速運行游戲,從而獲得游戲的最佳運行速率。
你可以打開碰撞矩形以便更好地觀察碰撞是如何發生的;如果煙霧孔阻礙了你的視野,你可以通過不選煙霧的復選框來關掉煙霧。你也可以調節Snail Bait游戲中顯示游戲運行緩慢提示板的閾值,如圖1.8所示


889791a5a1966fb740527d0385017b149417a553

或者你也可以完全關掉它,這樣你就可以在沒有閾值限制的前提下,測試慢幀的速率。
當測試游戲的某個特定內容時,你可以避免運行之前的游戲內容。除了游戲canvas元素頂部的控制鍵之外,開發者后門還在canvas元素的底部顯示了一個尺子,用于顯示背景水平滾動的像素點數。
你可以通過設置這些值以便在一個指定的水平位置上重啟游戲,這樣可以避免重新運行之前的游戲。為了方便,在開發者后門可見的情況下,你可以簡單地拖曳游戲,包括背景和所有的sprite對象,來改變跑步小人的水平位置。
開發者后門可以讓你在游戲中通過Snail Bait游戲的時間系統控制時間流逝的速率。在Snail Bait游戲中發生的所有事件都依賴于當前的游戲時間,在游戲啟動時,時間就開始流逝;例如,當跑步小人開始跳躍時,游戲記錄當前的時間,之后通過跳躍序列一幀一幀地移動跑步小人,幀數依賴于跑步小人開始跳躍之后有多少時間流逝。

圖1.11 Snail Bait的開發者后門


be860b51d89f48705fb018c75576266d4c6b4a6b

Snail Bait游戲默認的時間模式是使用真實時間代表游戲時間。但是Snail Bait游戲的時間系統也可以不使用真實時間;例如,時間系統可以持續地使用真實時間的一半,這樣游戲運行的速率就會降為原來的1/2。
除了可以讓你控制游戲時間流逝的速率之外,Snail Bait游戲的時間系統也是一些特效的源泉。當跑步小人撞到一個壞家伙并爆炸時,Snail Bait游戲會在轉換下一條生命時放緩時間。一旦轉換完成,Snail Bait游戲就將時間恢復正常,游戲重新開始。
最后,Snail Bait游戲使用兩個粒子系統來在背景中完成煙霧和火焰特效。在第16章,我們將進一步學習粒子系統,你可以在完成學習后創造出類似的特效來。
既然你已經對該游戲有了深層次的理解,接下來讓我們看一看代碼。
Snail Bait游戲的代碼統計(代碼行數)
`JavaScript:5230
CSS:690
HTML:350
Snail Bait游戲的代碼詳述
snailbait.js:3740
JavaScript支持代碼:1500
sprite對象初始化數據:500
創建sprite對象:400
sprite對象的行為實現:730
事件處理:300
用戶交互:225
聲音:130
`

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282208.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282208.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282208.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

XunSearch的安裝和加入服務器開機腳本以及將目錄寫入系統變量

一、安裝xunserach 1、cd ~ 2、wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 #下載最新xunsearch包 3、tar -xjf xunsearch-full-latest.tar.bz2 #解壓xunsearch包 4、cd xunsearch-full-1.4.11/ #進入xunsearch包目錄 5、sh setup.sh #執…

dubbo源碼解析-zookeeper創建節點

前言 在之前dubbo源碼解析-本地暴露中的前言部分提到了兩道高頻的面試題,其中一道dubbo中zookeeper做注冊中心,如果注冊中心集群都掛掉,那發布者和訂閱者還能通信嗎?在上周的dubbo源碼解析-zookeeper連接中已經講到,這周解析的是另一道,即服務提供者能實現失效踢出是根據什么原…

配置mysql為主主復制步驟

mysql版本:mysql-5.6.24-solaris10-sparc-64bit.tar 操作系統:solaris 11g u10 操作用戶:使用非root進行操作安裝,a路服務器ip地址為192.168.1.1 b路ip地址為192.168.1.2(應改為實際ip地址) 1,安…

XunSearch的使用

一、項目的配置文件 1、要想使用xunsearch,首先需要進行配置文件的配置。 默認目錄在app下,如下面的結構,每一個搜索項目都需要有一個ini文件進行相應的配置。 舉例: project.name novel project.default_charset utf-8 serv…

《VMware vSphere設計(原書第2版)》——1.1 什么是設計

本節書摘來自華章出版社《VMware vSphere設計(原書第2版)》一 書中的第1章,第1.1節,作者:[美] 福布斯格思里(Forbes Guthrie)斯科特羅威(Scott Lowe)肯德里克科爾曼&…

SqlKata - 方便好用的 Sql query builder

SqlKata查詢生成器是一個用C# 編寫的功能強大的Sql查詢生成器。它是安全的,與框架無關。靈感來源于可用的頂級查詢生成器,如Laravel Query Builder和 Knex:https://knexjs.org/。SqlKata有一個富有表現力的API。它遵循一個干凈的命名約定&…

編寫高質量代碼:改善Java的151個建議四(基本類型)21-30

該書籍PDF下載地址:http://download.csdn.net/download/muyeju/10001473 基本類型有8個:byte,short,int,char,long,double,float,boolean 21.用偶判斷,不用奇…

ABP vNext微服務架構詳細教程(補充篇)——單層模板(下)

業務代碼2聚合服務聚合服務層和基礎服務層相同的道理,在Demo.Core.Contracts增加Services文件夾,并添加Notifications子文件夾,在其中添加Dtos文件夾并添加兩個DTO與基礎服務對應:using Volo.Abp.Application.Dtos;namespace Demo…

PHP 電子商城基本數據表

1、品牌表 tp_brand CREATE TABLE tp_brand (id smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 品牌表,name varchar(60) NOT NULL DEFAULT COMMENT 品牌名稱,logo varchar(80) NOT NULL DEFAULT COMMENT 品牌logo,desc text NOT NULL COMMENT 品牌描述,url varcha…

摘要,日志

1.hashlib 模塊: 由于數據的不安全性,為了保證用戶的信息絕對安全,所有所有人的賬號密碼不能以明文的形式存儲, 而是經過適當的處理以密文的形式存儲. hashlib對同一個字符串在不同的語言,不同的環境(操作系統,版本,時間)中加密得到的是同一個密文串,不同的字符串得到的密文是不…

《網站情感化設計與內容策略》一第1章 情感化設計1.1 革命:有失亦有得

本節書摘來自異步社區《網站情感化設計與內容策略》一書中的第1章,第1.1節,作者 【美】Aarron Walter , Erin Kissane,更多章節內容可以訪問云棲社區“異步社區”公眾號查看 第1章 情感化設計 網站情感化設計與內容策略 1.1 革命&#xff1…

php自動加載機制的實現

一、什么是自動加載 自動加載就是當我們在當前文件中實例化一個不存在的類時,調用自動加載機制引入相應的類文件。 注:自動加載有兩種方式(都是php內置的),一種是通過__autoload(),另一種是通過spl_autoload_registe…

MySQL之 從復制延遲問題排查

一、從庫復制延遲問題 1、可能的原因如下(1)主從服務器處于不同的網絡之中,由于網絡延遲導致;(2)主從服務器的硬件配置不同,從服務器的硬件配置(包括內存,CPU&#xff0c…

《樹莓派滲透測試實戰》——2.12 用例子總結以上步驟

本節書摘來異步社區《樹莓派滲透測試實戰》一書中的第2章,第2.12節,作者【美】Joseph Muniz(約瑟夫 穆尼斯) , Aamir Lakhani(阿米爾 拉克哈尼),更多章節內容可以訪問云棲社區“異步社區”公眾號…

申請成為qq互聯個人開發者步驟(注意事項)2018

一、官方網址 官方地址:https://connect.qq.com/manage.html#/ 二、申請時注意事項: 1、申請時的名稱欄必須填寫身份證上的姓名,否則是不給通過的 2、上傳照片時,需要本人手持身份證,重點是照片中身份證上頭像的位置要…

《Swift開發實戰》——第1章,第1.4節啟動iOS 8模擬器

本節書摘來自異步社區《Swift開發實戰》一書中的第1章,第1.4節啟動iOS 8模擬器,作者 李寧,更多章節內容可以訪問云棲社區“異步社區”公眾號查看 1.4 啟動iOS 8模擬器Xcode是一款功能全面的應用程序,通過此工具可以輕松輸入、編譯…

基于.NetCore開發博客項目 StarBlog - (18) 實現本地Typora文章打包上傳

1前言九月太忙,只更新了三篇文章,本來這個功能是從九月初就開始做的,結果一直拖到現在國慶假期才有時間完善并且寫文章~之前我更新了幾篇關于 Python 的文章,有朋友留言問是不是不更新 .Net 了,那肯定不能啊&#xff0…

《算法導論》讀書筆記--第1、2章課后題 (轉)

第一章 轉自http://www.cnblogs.com/batteryhp/p/4654860.html 思考題 1-1(運行時間的比較)確定時間t內求解的問題的最大規模。 上面是網上提供的答案。 注意點: 1、最左邊一列的是關于n的增長情況描述,值得記住的是這些增長的排…

PHP開發自己的框架必備知識點

一、PHP常用的四種數據結構 簡介&#xff1a;spl是php的一個標準庫。 官方文檔&#xff1a;http://php.net/manual/zh/book.spl.php <?php//spl&#xff08;php標準庫&#xff09;數據結構/*** 棧&#xff08;先進后出&#xff09;*/ $stack new SplStack(); $stack-&g…

Linux 環境下 jdk1.8 maven3.2.3 Git2.8.0 安裝腳本

2019獨角獸企業重金招聘Python工程師標準>>> # Author: peizhouyu # Date: 2018-09-07 14:24:11 # Last Modified by: peizhouyu # Last Modified time: 2018-09-07 16:02:58#!/bin/bash SOFT_PATH/opt/softif [ ! -d $SOFT_PATH ];then mkdir $SOFT_PATH else …