HTML5 Game 01
来源:互联网 发布:java爬虫抓取微博数据 编辑:程序博客网 时间:2024/06/06 07:44
学习 HTML5 GMAE 的笔记 !
1. 乒乓游戏布局
<!doctype html><html><head><meta charset="utf-8"><title>HTML5 Game</title><style>h1{ text-align:center}#box1{ background:#9FC; width:400px; height:300px; position:relative; margin:30px auto}.paddle{ background:#C93; width:10px; height:60px; position:absolute; left:20px; top:20px;}#paddleB{ left:370px; top:200px;}#ball{ background:#F00; height:20px; width:20px; position:absolute; left:190px; top:140px; border-radius:10px;}</style><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script></head><body><h1><span id="s1">0</span> : <span id="s2">0</span></h1><div id="box1"><div id="paddleA" class="paddle"></div> <div id="paddleB" class="paddle"></div> <div id="ball"></div></div><script src="pingpang.js"></script></body></html>
02:新建 pingpang.js
//使用简单的模式- 不能支持同时按键;var KEY={w:87, s:83, up:38, down:40};$(function(){$(document).keydown(function(e){//在控制台上显示按键//console.log(e.which);switch(e.which){case KEY.w:var top=parseInt($("#paddleA").css("top"));$("#paddleA").css("top",top-5);break;case KEY.s:var top=parseInt($("#paddleA").css("top"));$("#paddleA").css("top",top+5);break;case KEY.up:var top=parseInt($("#paddleB").css("top"));$("#paddleB").css("top",top-5);break;case KEY.down:var top=parseInt($("#paddleB").css("top"));$("#paddleB").css("top",top+5);break;}})})
03: 重置 pingpang.js
//生成一个游戏主轴, 不断的检测相关的按钮var KEY={w:87, s:83, up:38, down:40};// 生成一个全局对象;var pingpang={};pingpang.press=[];pingpang.timer=setInterval(gameGo,30);//判断 按键状态!$(function(){$(document).keydown(function(e){pingpang.press[e.which]=true;})$(document).keyup(function(e){pingpang.press[e.which]=false;})})function gameGo(){movePaddle();}function movePaddle(){if(pingpang.press[KEY.w]){var top=parseInt($("#paddleA").css("top"));top==0?$("#paddleA").css("top",0):$("#paddleA").css("top",top-5)}if(pingpang.press[KEY.s]){var top=parseInt($("#paddleA").css("top"));top==240?$("#paddleA").css("top","240px"):$("#paddleA").css("top",top+5)}if(pingpang.press[KEY.up]){var top=parseInt($("#paddleB").css("top"));top==0?$("#paddleB").css("top",0):$("#paddleB").css("top",top-5)}if(pingpang.press[KEY.down]){var top=parseInt($("#paddleB").css("top"));top==240?$("#paddleB").css(" bottom",0):$("#paddleB").css("top",top+5)}}
04: 让小球跑起来!
var ballDiameter=20;pingpang.ball={speed:5, x:190, y:140, directionX:1, directionY:1};//在游戏主循环里加入 moveBall()function gameGo(){movePaddle();moveBall();}function moveBall(){var ball=pingpang.ball;var boxWidth=parseInt($("#box1").css("width"));var boxHeight=parseInt($("#box1").css("height"));if(ball.x+ballDiameter+ball.speed>boxWidth){ball.directionX=-1;}if(ball.x-ball.speed<0){ball.directionX=1;}if(ball.y+ballDiameter+ball.speed>boxHeight){ball.directionY=-1;}if(ball.y-ball.speed<0){ball.directionY=1;}ball.x+=ball.speed*ball.directionX;ball.y+=ball.speed*ball.directionY;$("#ball").css({"left":ball.x,"top":ball.y})}
最后:
//生成一个游戏主轴, 不断的检测相关的按钮var KEY={w:87, s:83, up:38, down:40};var ballDiameter=20;var s1=0,s2=0;// 生成一个全局对象;var pingpang={};pingpang.press=[];pingpang.ball={speed:5, x:190, y:140, directionX:1, directionY:1};pingpang.timer=setInterval(gameGo,30);//判断 按键状态!$(function(){$(document).keydown(function(e){pingpang.press[e.which]=true;})$(document).keyup(function(e){pingpang.press[e.which]=false;})})function gameGo(){movePaddle();moveBall();}function movePaddle(){if(pingpang.press[KEY.w]){var top=parseInt($("#paddleA").css("top"));top==0?$("#paddleA").css("top",0):$("#paddleA").css("top",top-5)}if(pingpang.press[KEY.s]){var top=parseInt($("#paddleA").css("top"));top==240?$("#paddleA").css("top","240px"):$("#paddleA").css("top",top+5)}if(pingpang.press[KEY.up]){var top=parseInt($("#paddleB").css("top"));top==0?$("#paddleB").css("top",0):$("#paddleB").css("top",top-5)}if(pingpang.press[KEY.down]){var top=parseInt($("#paddleB").css("top"));top==240?$("#paddleB").css(" bottom",0):$("#paddleB").css("top",top+5)}}function moveBall(){var ball=pingpang.ball;var boxWidth=parseInt($("#box1").css("width"));var boxHeight=parseInt($("#box1").css("height"));var falseLeft=parseInt($("#paddleA").css("left"))+parseInt($("#paddleA").width());var falseTop=parseInt($("#paddleA").css("top"));var falseBottom=parseInt($("#paddleA").css("height"))+falseTopvar falseLeftB=parseInt($("#paddleB").css("left"));var falseTopB=parseInt($("#paddleB").css("top"));var falseBottomB=parseInt($("#paddleB").css("height"))+falseTopBif(ball.x-ball.speed<falseLeft){if(ball.y>falseTop && ball.y<falseBottom){ball.directionX=1;}if(ball.x-ball.speed<0){s1++;$("#s2").html(s1)ball.x=190ball.y=140ball.directionX=1}}if(ball.x+ball.speed+ballDiameter>falseLeftB){if(ball.y>falseTopB && ball.y<falseBottomB){ball.directionX=-1;}if(ball.x+ballDiameter+ball.speed>boxWidth){s2++;$("#s1").html(s2)ball.x=190ball.y=140ball.directionX=-1;}}if(ball.y+ballDiameter+ball.speed>boxHeight){ball.directionY=-1;}if(ball.y-ball.speed<0){ball.directionY=1;}ball.x+=ball.speed*ball.directionX;ball.y+=ball.speed*ball.directionY;$("#ball").css({"left":ball.x,"top":ball.y})}
0 0
- HTML5 Game 01
- 【HTML5】HTML5 Game Engines
- [HTML5]HTML5 Game Engines
- HTML5 Game Development Tutorial
- Learning HTML5 Game Programming
- game html5 tafang V1
- A Simple Html5 Game
- Modernize-your-HTML5-Canvas-game
- Build your First Game with HTML5
- HTML5 GAME West Fighting / 西途决斗
- some problem use html5 to make game
- javascript html5 game 开发的一些知识
- javascript html5 game 开发的一些知识
- HTML5 贪吃蛇 Snake Game代码
- My first HTML5 game in Construct 2
- HTML5 Game Engines Which HTML5 Game Engine is right for you?
- HTML5 GAME West Fighting / 西途决斗 框架说明
- HTML5---01
- 九度OJ 1087 约数的个数
- 学会聆听别人,聆听也是一门艺术。
- 手工释放linux内存——/proc/sys/vm/drop_caches
- 变态的libDispatch结构分析-原子操作方法
- 每天一个linux命令(53):route命令
- HTML5 Game 01
- 最大连续子序列
- 并查集
- 反射机制
- 检测浏览器的内核js并输出的语句
- Jaccard相似度和广义Jaccard相似度
- slab debug and kmalloc
- android systemui流程
- 在对话框里添加状态栏(一)