小鸟游戏案例

小鸟游戏

Document
<script>
	/*
		让小鸟飞起来
			1.背景向后移动
	*/
	//1.获取元素
	var game = document.getElementById('game');
	var birdEl = document.getElementById('bird');

	//以键值对形式保存小鸟和背景的参数
	var sky = {
		x: 0
	}
	//初始化bird值
	var bird = {
		speedX: 5,
		speedY: 0,
		x: birdEl.offsetLeft,
		y: birdEl.offsetTop
	}

	//判断游戏进程  需要一个状态值
	var running = true;
	//定义定时器  使游戏背景移动
	setInterval(function() {
		if (running) {
			sky.x -= 5;
			game.style.backgroundPositionX = sky.x + 'px';
			//实现小鸟的上下移动
			//距离 = 时间 * 速度
			bird.speedY += 1;   //加速度 为 1
			bird.y += bird.speedY;
			if (bird.y < 0) {
				running = false;
				bird.y = 0;
			}
			//当小鸟的offsetTop + 自身的高度 大于背景高度时 游戏停 停止 小鸟固定
			if (bird.y + birdEl.offsetHeight > 600) {
				running = false;
				bird.y = 600 - birdEl.offsetHeight;
			}
			birdEl.style.top = bird.y + 'px';
		}
	},20)
	//点击文档时,小鸟实现向上运动
	document.onclick = function() {		
		bird.speedY = -10;
	}

	//创建管道的函数
	function createPipe(position) {
		//管道有很多参数  水平位置  自身高度  上下两根管子
		var pipe = {};
		//水平位置
		pipe.x = position;
		//上管的高度  需求 两个管子的间隔必须200px
		pipe.uHeight = 200 + parseInt((Math.random() * 100))   //300  400
		//console.log(pipe.uHeight);
		//下管的高度
		pipe.dHeight = 600 - pipe.uHeight -200;   //100   0
		//下管的top值
		pipe.dTop = pipe.uHeight + 200;

		//创建一个div 
		var uPipe = document.createElement('div');
		uPipe.style.width = '52px';
		uPipe.style.height = pipe.uHeight + 'px';

		uPipe.style.position = 'absolute';
		uPipe.style.top = '0px';
		uPipe.style.left = pipe.x + 'px';
		uPipe.style.background = 'url(../images/pipe2.png) center bottom';
		game.appendChild(uPipe);

	} 	

	createPipe(400);
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值