《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.mzph.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)肯德里克科尔曼&…

编写高质量代码:改善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…

申请成为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是一款功能全面的应用程序,通过此工具可以轻松输入、编译…

《算法导论》读书笔记--第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 …

《嵌入式设备驱动开发精解》——导读

前言 嵌入式设备驱动开发精解本书的编写主要是针对从事嵌入式软件开发人员。本书的内容主要涵盖ARM CPU以及各种常用外部设备驱动开发的方方面面&#xff0c;包括各种硬件接口、硬件接口协议说明以及各种外设的使用及调试方法&#xff0c;特别是对于开发调试过程中可能遇到的各…

C# WPF通过WindowChrome自定义窗体

概述在WPF界面开发中&#xff0c;系统默认的窗口比较丑&#xff0c;有时候想自定义窗体&#xff0c;比如微信的客户端窗口这样&#xff1a;使得左边的一块顶到最上端&#xff0c;如下图所示&#xff1a;这时候我们可以 WindowStyle"None"&#xff0c;AllowsTranspare…

【转载】递推公式的特征方程及通项公式

先贴上链接&#xff1a;http://blog.csdn.net/happykocola/article/details/73933314 因为最近在复习初赛&#xff0c;然后碰到了这道题&#xff0c;并不会做&#xff0c;才发现有这么高明的方法... 已知递推关系式&#xff1a; f(n)5f(n-1)-6f(n-2) (n>1) f(0)1 f(1)…

【leetcode】75. Sort Colors

题目如下&#xff1a; 解题思路&#xff1a;我的解题思路是遍历数组&#xff0c;遇到0删除该元素并插入到数组头部&#xff0c;遇到1则不处理&#xff0c;遇到2删除该元素并插入到数组尾部。 代码如下&#xff1a; class Solution(object):def sortColors(self, nums):"&q…

Seal-Report: 开放式数据库报表工具

Seal Report是.Net的一个基于Apache 2.0 开源工具&#xff0c;完全用C# 语言编写&#xff0c;最新的6.6 版本采用.NET 6&#xff0c;github: https://github.com/ariacom/Seal-Report。Seal Report提供了一个完整的框架&#xff0c;用于从任何数据库或任何非SQL源生成每日报告。…

《Ceph源码分析》——第2章,第2节Buffer

本节书摘来自华章出版社《Ceph源码分析》一书中的第2章&#xff0c;第2.2节Buffer&#xff0c;作者常涛&#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.2 BufferBuffer就是一个命名空间&#xff0c;在这个命名空间下定义了Buffer相关的数据结构, 这些数…

eclipse在server中tomcat server找不到的问题

想要在eclipse的server新建tomcat服务器然而不知道怎么回事找不到Tomcat 7.0 Server 下面的红圈是tomcat server服务器&#xff08;更新后才出现&#xff09; 网上找的很久&#xff0c;只是找到在eclipse中安装tomcat插件的方法 Tomcat免安装版的环境变量配置以及Eclipse下的To…