HTML5边玩边学(10):俄罗斯方块就是这么简单 之 控制界面篇(源码)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-17 00:04   20   0

本来想写几句的,但是看到前面一篇的反映不是很理想,所以也没动力了,原计划下面还想写个“贪吃蛇”的,看看再说吧,直接上源代码。

这一次在上一篇程序的基础上增加了以下功能:

1、键盘控制

2、开始、暂停

3、消除时候空行的停顿效果

4、随着消除行数的增多,速度加快

5、音效

等等。

代码里的注释已经很详细了,上一篇中模型的代码基本上没改动,只是增加了控制和图形的代码,自己感觉写的还是比较有条理的。

代码下载:点击

提示:本文中的俄罗斯方块游戏需要 Chrome 浏览器才能得到最好的运行效果,Firefox 浏览器也可以运行,但是没有声音效果。

{{{{{{

您的浏览器不支持 audio 标签。 你的浏览器不支持 Canvas 标签,请使用 Chrome 浏览器 或者 FireFox 浏览器

}}}}}}

后面罗嗦两句,愿意看的就看看。

这一部分代码主要由两个定时器组成。

第一个定时器每间隔一段时间就产生一个 TickMessage 消息,对这个消息的处理就是使方块下落,下落后每消去一次,触发的速度就更快一点。

第二个定时器是消息循环,他尽可能快的循环,所以时间间隔设置为0。

因为整个游戏的模型部分和控制部分会产生很多的事件,谁也不知道用户什么时候按下按键,所以这里维护了一个消息队列。

一旦有新的情况产生,就在消息队列里面添加上一条对应的消息,而消息循环不停的从里面取出消息,只要有就取出一条,并处理它。

图形部分,重点是要把七种颜色的小方块事先绘制好,并缓存起来,后面需要的时候直接使用。否则临时绘制的话,随着方块的增多,程序会出现卡死现象。

好了,就说这么多吧,有什么问题请留言。


//==========================================

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP