按键机的年代,想必大家都玩过类似雷电,雷霆战机之类的飞行射击类游戏吧,今天我就试着用canvas来还原一下游戏场景。
素材准备
还原场景的第一步是准备素材,首先我们需要一架雷霆战机,经过九牛二虎之力,我在网上找到了心仪的战机,就是下面这架:

战机的子弹也要准备一下,我给我的战机准备了黄色和蓝色两种子弹,如下:

HTML部分
素材准备完成,我们就开始把它们渲染到页面上吧,首先先用3个img标签引入3个素材,并且设置img的display属性为none,使的它们不显示在页面上。同时,我们定义一个canvas元素,用来把我们的飞机渲染在上面。
<img src="../imgs/plane.png" alt="飞机" style="display: none" id="plane">
<img src="../imgs/blue-bullet.png" alt="蓝子弹" style="display: none" id="blue-bullet">
<img src="../imgs/yellow-bullet.png" alt="黄子弹" style="display: none" id="yellow-bullet">
<canvas id="space"></canvas>
4个元素我都设置了id属性,这是为了一会更方便的获取DOM元素。
CSS部分
样式部分,我们只需要使用通配符选择器,将页面自带的margin和padding设为0,防止页面有白边,影响体验感。
* {margin: 0;padding: 0;
}
JS部分
基础准备
首先,我们要先获取到canvas元素,