大家今天来跟大家分享一下我最近捣鼓的一个小玩意——“直升机游戏”!别误会,不是那种大型的3D游戏,就是一个非常简单的、可以在网页上直接玩的小东西。
我就是想找点事情做,打发打发时间。突然就想起小时候玩过的那种简单的Flash小游戏,其中就有个控制直升机躲避障碍物的。于是我就想,要不自己也做一个试试?
说干就干!我先是在纸上画画草图,大概就是:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
有大概的思路,我就开始动手。我选最简单的HTML、CSS和JavaScript来做,毕竟这几个我比较熟,而且做这种小游戏也完全够用。
我用HTML搭个基本的框架,就是一个<canvas>
标签,用来显示游戏画面。然后用CSS给它加个黑色的背景,这样看起来更像那么回事。
最关键的就是JavaScript部分。我先是定义几个变量,比如直升机的位置、障碍物的位置、速度等等。然后写几个函数:
我让直升机只能上下移动,障碍物就从右边往左边移动。然后我加个碰撞检测,如果直升机撞到障碍物,游戏就结束。
遇到的第一个问题就是,这障碍物怎么源源不断地出现?
我想个办法,就是用一个数组来存储障碍物的位置,然后在每次更新游戏状态的时候,都往数组里添加一个新的障碍物,同时把已经移出屏幕的障碍物删掉。这样就实现障碍物的循环出现。
然后就是怎么让游戏动起来?
我用requestAnimationFrame()
这个函数,它可以让浏览器在每次刷新屏幕的时候都调用我们指定的函数,这样就可以实现动画效果。我在这个函数里调用更新游戏状态的函数和画图的函数,这样游戏就动起来!
做完这些,基本的游戏逻辑就完成。我又加点细节,比如:
我把代码整理一下,加点注释,一个简单的“直升机游戏”就大功告成!虽然很简单,但玩起来还挺有意思的,我自己都玩好几局!
这回的实践让我觉得,做游戏也不是那么难,只要有想法,肯动手,就能做出一些有趣的东西来。下次我还想试试做个更复杂一点的游戏,哈哈!