html js飞机大战实例,JS飞机大战demo

html>

Document

* {

margin: 0;

padding: 0;

list-style: none;

}

body {

background: black;

}

#demo {

width: 100px;

height: 100px;

position: absolute;

top: calc(50% - 50px);

left: calc(50% - 50px);

background: url(plane.png) 0 / cover;

}

.bullet {

width: 10px;

height: 10px;

background: gold;

border-radius: 10px 10px 0 0;

box-shadow: 2px 5px 10px #fff;

position: absolute;

}

const KEY_CODE = {

W: 87,

S:83,

A:65,

D:68,

J:74,

ENTER:13

}

let demo = document.getElementById('demo')

window.onkeydown = function (e) {

switch (e.keyCode) {

case KEY_CODE.W:

demo.style.top = (demo.offsetTop - 10) + 'px'

break;

case KEY_CODE.S:

demo.style.top = (demo.offsetTop + 10) + 'px'

break;

case KEY_CODE.A:

demo.style.left = (demo.offsetLeft - 10) + 'px'

break;

case KEY_CODE.D:

demo.style.left = (demo.offsetLeft + 10) + 'px'

break;

case KEY_CODE.J:

fight()

break;

}

}

function fight() {

let bullet = document.createElement('div')

bullet.classList.add('bullet')

document.body.appendChild(bullet)

bullet.style.top = (demo.offsetTop - bullet.offsetHeight - 10) + 'px'

bullet.style.left = demo.offsetLeft + (demo.offsetWidth / 2) - (bullet.offsetWidth / 2) + 'px'

}

setInterval(function () {

let bullets = document.getElementsByClassName('bullet')

for (let i = 0; i 

const bullet = bullets[i];

bullet.style.top = (bullet.offsetTop - 10) + 'px'

if (bullet.offsetTop 

bullet.remove()

}

}, 20)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值