最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)的使用鍵盤控制人物走動(dòng)實(shí)例

 更新時(shí)間:2014年08月27日 09:21:28   投稿:junjie  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的使用鍵盤控制人物走動(dòng)實(shí)例,也可說是一個(gè)JS實(shí)現(xiàn)的小人走動(dòng)小游戲,需要的朋友可以參考下

其實(shí)這個(gè)示例用到了js的兩個(gè)核心時(shí)間,鍵盤事件onkeydown,周期執(zhí)行事件setInterval。

實(shí)現(xiàn)效果

當(dāng)按下鍵盤某個(gè)鍵時(shí)網(wǎng)頁中的人物實(shí)現(xiàn)相應(yīng)的動(dòng)作,達(dá)到利用鍵盤控制走動(dòng)效果

實(shí)現(xiàn)步驟

一、預(yù)訂鍵值作用:

w:向上
s:向下
a:向左
d:向右
空格:停止

二、預(yù)訂鍵值后,要能捕獲按鍵事件以及判斷用戶按的是哪個(gè)鍵?

捕獲鍵盤事件可以用onkeydown
獲取鍵值碼可以用event.keyCode
 
三、用setInterval周期執(zhí)行事件替換圖片

替換圖片是為了實(shí)現(xiàn)任務(wù)走動(dòng)效果
但要注意使用clearInterval清除周期執(zhí)行,否則會(huì)越走越快

示例代碼:

<html>
	<head>
		<meta charset="utf-8" />
		<title>人物走動(dòng)</title>
	</head>
	<body onkeydown="show()">
		<ul style="posttion:absolute;border:1px solid #999;list-style:none;width:150px;padding:20px;background:#ffffef;">
			<li>w:向上</li>
			<li>s:向下</li>
			<li>a:向左</li>
			<li>d:向右</li>
			<li>空格:停止</li>
			<li style="margin-top:20px;"><u><a href="http://m.fzitv.net">腳本之家</a></u></li>
		</ul>
		<div style="position:absolute;top:0;left:0" id='di'><img src="http://img.jbzj.com/file_images/article/201408/201482791327688.gif?201472791345" id="img"></div>
		<script>
			var img1='//img.jbzj.com/file_images/article/201408/201482791656841.gif?201472791722';
			var img2='//img.jbzj.com/file_images/article/201408/201482791327688.gif?201472791345';
			var x=0;
			var y=0;
			var xs=0;
			var ys=0;
			var flag=true;
			var zq=null;
			function ks(){
				zq=setInterval(function(){	
					var s=document.getElementById('img');	
					var str=s.src;
					var area=document.getElementById('di');
					var xpos=parseInt(area.style.left);
					var ypos=parseInt(area.style.top);
					x=x+xs;
					y=y+ys;
					area.style.left=x;
					area.style.top=y;
					var pos=str.lastIndexOf('/')+1;
					var hz=str.substr(pos);
					if(hz==img1){
						s.src= img2;
					}else{
						s.src= img1;
					}				
				},50);
			}
			ks();

			function show(){
				var sz=window.event.keyCode;
				switch(sz){
					case 87:
						img1='//img.jbzj.com/file_images/article/201408/ren_h_1.gif';
						img2='//img.jbzj.com/file_images/article/201408/ren_h_2.gif';
						ys=-5;
						xs=0;
						break;
					case 65:
						img1='//img.jbzj.com/file_images/article/201408/ren_l_1.gif';
						img2='//img.jbzj.com/file_images/article/201408/ren_l_2.gif';
						xs=-5;
						ys=0;
						break;
					case 68:
						img1='//img.jbzj.com/file_images/article/201408/ren_r_1.gif';
						img2='//img.jbzj.com/file_images/article/201408/ren_r_2.gif';
						xs=5;
						ys=0;
						break;
					case 83:
						img1='//img.jbzj.com/file_images/article/201408/ren_q_1.gif';
						img2='//img.jbzj.com/file_images/article/201408/ren_q_2.gif';
						ys=5;
						xs=0;
						break;
					case 32:
					  if(flag){
						  clearInterval(zq);
						  flag=false;
						  break;
					   }
					case 13:
					 if(!flag){
						 ks();
						 flag=true;
						break;
					  }
				}
			}
		</script>
	</body>
</html>

相關(guān)文章

最新評(píng)論

吴桥县| 呼玛县| 工布江达县| 文昌市| 南召县| 佛教| 湾仔区| 增城市| 互助| 榆中县| 长宁区| 隆安县| 鹤峰县| 固始县| 洪洞县| 太保市| 小金县| 黄浦区| 泸州市| 齐齐哈尔市| 洪洞县| 肇庆市| 肇东市| 会宁县| 白城市| 平定县| 汽车| 册亨县| 安达市| 蓬溪县| 龙州县| 通化市| 巴青县| 军事| 古田县| 绥江县| 汾阳市| 福清市| 白河县| 沁源县| 镇赉县|