用html,css,js模拟飞机大战

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
		    *{
		    	margin: 0;
		    	padding: 0;
		    }
		    #backg{
		    	width: 500px;
		    	height: 500px;
		    	margin: 0 auto; 
		    	background: url(img/30ee9722e2c5fd002442b94d20dee4d8_img_0_456398777_3541682797_26.jpg);
		    	background-size: 500px 772px;
		    	background-position: center center;
		    	
		    }
			#cxk{
	          background: skyblue;
	          background-position: -66px -102px;
              height: 25px;
              width: 25px;
              position: absolute;
              z-index: 2;
			} 
			#score{
				font-size: 40px;
			}
		</style>
	</head>
	<body>
		<div id="backg">
			<span id="score">
				0
			</span>
		</div>
		<div id="cxk">
		</div>
	</body>
	<script type="text/javascript">
		var cxk=document.querySelector("#cxk")
		var backg=document.querySelector("#backg")
		var scoreInner=document.querySelector("#score")
		var score=0
		var fire
		document.οnmοusemοve=function(e){
			if(e.pageX>backg.offsetLeft+cxk.offsetWidth/2 && 
				e.pageX<backg.offsetLeft+backg.offsetWidth-cxk.offsetWidth/2
			  && e.pageY>backg.offsetTop+cxk.offsetWidth/2 &&
			  e.pageY<backg.offsetHeight-cxk.offsetWidth/2){
			cxk.style.left=e.pageX-cxk.offsetWidth/2+"px"
			cxk.style.top=e.pageY-cxk.offsetHeight/2+"px"
			fire=true
			}
			  else fire=false
		}
		
		setInterval(function(){
		bullet()	
		},300)
		
		var bulletArray=[]
		var index=0
		function bullet(){
			if(fire){
				var bul={}
				var flag=index
				var bullet=document.createElement("div")
				bullet.id="b"+index
				bul.id="b"+index
				bullet.style.width=6+"px"
				bul.width=6
				bullet.style.height=14+"px"
				bul.height=14
				bullet.style.background="black"
				bullet.style.position="absolute"
				bullet.style.top=cxk.offsetTop+"px"
				bul.top=cxk.offsetTop
				bullet.style.left=cxk.offsetLeft+cxk.offsetWidth/2+"px"
				bul.left=cxk.offsetLeft+cxk.offsetWidth/2
				bulletArray.push(bul)
				index++
				document.body.appendChild(bullet)
				var id2=setInterval(function(){
					var speed=-10
					bullet.style.top=bullet.offsetTop+speed+"px"
					bulletArray[flag].top=bullet.offsetTop+speed
					if(bullet.offsetTop<0)
					{
						bullet.remove()
						clearInterval(id2)
					}
				},100)
			}
		}
		
		setInterval(function(){
		enemy()	
		},300)
		
		function enemy(){
			if(fire){
				var enemy=document.createElement("div")
				enemy.style.width=40+"px"
				enemy.style.height=40+"px"
				enemy.style.background="red"
				enemy.style.position="absolute"
				enemy.style.top=0
				var begin=backg.offsetLeft
				var end=backg.offsetWidth+begin
				var enemyBegin=Math.random()*(end-begin)+begin
				enemy.style.left=enemyBegin+"px"
				document.body.appendChild(enemy)
				var id2=setInterval(function(){
					var speed=10
					enemy.style.top=enemy.offsetTop+speed+"px"
					for(var i=0;i<bulletArray.length;i++){
				   if(bulletArray[i].left>enemy.offsetLeft &&
				   bulletArray[i].left<enemy.offsetLeft+enemy.offsetWidth &&
				   bulletArray[i].top>enemy.offsetTop &&
				    bulletArray[i].top<enemy.offsetTop+enemy.offsetHeight)
					{
						score++
						scoreInner.innerHTML=score
						document.getElementById(bulletArray[i].id).remove()
						enemy.remove()
					}
					}
					if(enemy.offsetTop>backg.offsetHeight)
					{
						enemy.remove()
						clearInterval(id2)
					}
				},100)
			}
		}

	</script>
</html>

附上背景图在这里插入图片描述

发布了41 篇原创文章 · 获赞 3 · 访问量 4621

猜你喜欢

转载自blog.csdn.net/fesfsefgs/article/details/100576361
今日推荐