編程(Programming)是編定程序的中文簡(jiǎn)稱,就是讓計(jì)算機(jī)代碼解決某個(gè)問題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過程。為了使計(jì)算機(jī)能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計(jì)算機(jī)能夠理解的形式告訴計(jì)算機(jī),使得計(jì)算機(jī)能夠根據(jù)人的指令一步一步去工作,完成某種特定的任務(wù)。這種人和計(jì)算體系之間交流的過程就是編程。 【實(shí)例名稱】 JS實(shí)現(xiàn)用鍵盤控制圖片移動(dòng) 【實(shí)例描述】 本例學(xué)習(xí)如何實(shí)現(xiàn)可用鍵盤控制圖片的上、下、左、右移動(dòng),類似在游戲中的效果。 【實(shí)例代碼】 <html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>標(biāo)題頁-本站(www.xue51.com)</title>
</head>
<script language="JavaScript">
var key=0
var timer
function setObj()
{
ietype = (document.layers) ? 1 : 0;
//判斷瀏覽器類型
divObj = (ietype)? document.mydiv : mydiv.style
//獲取指定的div
Xpos = parseInt(divObj.left);
//獲取div的X坐標(biāo)
Ypos = parseInt(divObj.top);
//獲取div的Y坐標(biāo)
document.onkeydown = keyDown;
//設(shè)置按鍵事件
document.onkeyup = keyUp;
//設(shè)置鍵盤彈起的事件
if (ietype) document.captureEvents(Event.keydown | Event.keyup);
}
function keyDown(e)
//按鍵的操作
{
key = (ietype)? e.which : event.keyCode
//判斷用戶按下的鍵,注意此鍵盤包括方向鍵和小鍵盤(數(shù)字鍵)
if (key == 108 || key == 37) moveObj(1,2);
if (key == 114 || key == 39) moveObj(1,3);
if (key == 100 || key == 40) moveObj(1,4);
if (key == 117 || key == 38) moveObj(1,5);
}
function keyUp(e)
//按鍵彈起的操作
{
key=0;clearTimeout(timer);
}
function moveObj(t,u)
//移動(dòng)圖片的方法
{
clearTimeout(timer)
if (t==1){
//根據(jù)移動(dòng)的鍵,改變div的X和Y坐標(biāo)
if (u==2){divObj.left = Xpos-=5;timer = setTimeout("moveObj(1,2)", 40);}
if (u==3){divObj.left = Xpos+=5;timer = setTimeout("moveObj(1,3)", 40);}
if (u==4){divObj.top = Ypos+=5;timer = setTimeout("moveObj(1,4)", 40);}
if (u==5){divObj.top = Ypos-=5;timer = setTimeout("moveObj(1,5)", 40);}
}
}
</script>
<body OnLoad="setObj();focus()">
<div id="mydiv" style="position:absolute; left:0px; top:80px;">
<img src="http://www.google.cn/intl/zh-CN/images/logo_cn.gif">
</div></body>
</html>
【運(yùn)行效果】  【難點(diǎn)剖析】 本例的重點(diǎn)是判斷鍵盤的按鍵,以及動(dòng)態(tài)改變圖片的位置。圖片所在的位置是一個(gè)div層,首先通過控件的“Left”和“Top”屬性,獲取此層的x坐標(biāo)和y坐標(biāo)。然后通過“event.keyCode”屬性獲取用戶的按鍵。最后根據(jù)按鍵在“moveObj”方法中改變div控件的坐標(biāo)。 【源碼下載】 為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:JS實(shí)現(xiàn)用鍵盤控制圖片移動(dòng) 進(jìn)行本實(shí)例源碼下載
使用編程語言寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |