想要飛機在網頁中動起來,首先的想法就是改變它的橫縱座標
var myplane_style_left =
parseint
(myplane.style.left)
;var myplane_style_top =
parseint
(myplane.style.top)
;
由於得到的資料後面會帶有乙個「px」的小尾巴,不適合計算,用parseint方法把他後面的px捨棄掉同時把字串型別轉換成數字。
想要他移動,這個時候我們需要在按下鍵盤的某個鍵的時候,程式能檢測到我們按下了某個鍵。
document.body.
onkeypress
=function()
}
ps:需要注意的是document.body.onkeypress與document.body.onkeydown對於鍵盤上的按鍵的編號是不同的,
例如a,用onkeypress就是96,用onkeydown就是37,一開始在這卡了很長時間的bug。並且使用onkeypress讓飛
機移動會有鍵位衝突,不能兩個鍵同時一起按下,且移動很卡頓不流暢。
這時我想起用定時器不停的檢測我的按鍵按下抬起就能實現兩個鍵或多個按鍵一起按的效果,用幾個狀態量表示我是否按下,一旦他們為true就讓移動函式一直執行。
var leftbutton =
false
;//按鍵開關 讓按鍵事件預設為false,然後
var rightbutton =
false
;//按下鍵為true,用定時器隔30毫秒檢測一次是否
var upbutton =
false
;//為true,如果為true,則進行移動事件
var downbutton =
false
;var shot =
false
;var move_speed =11;
var myplane_style_left =
parseint
(myplane.style.left)
;var myplane_style_top =
parseint
(myplane.style.top)
; console.
log(myplane.style.left)
; console.
log(myplane_style_top)
;function
myplanemovedown()
}function
myplanemovetop()
}function
myplanemoveleft()
}function
myplaymoveright()
}//在body中按下鍵盤的時候移動玩家的飛機;
document.body.
onkeydown
=function()
if(e.keycode ==
38|| e.keycode ==87)
if(e.keycode ==
39|| e.keycode ==68)
if(e.keycode ==
40|| e.keycode ==83)
if(e.keycode =32)
} document.body.
onkeyup
=function()
if(e.keycode ==
38|| e.keycode ==87)
if(e.keycode ==
39|| e.keycode ==68)
if(e.keycode ==
40|| e.keycode ==83)
if(e.keycode =32)
}function
controlplay()
if(upbutton ==
true)if
(rightbutton ==
true)if
(downbutton ==
true)if
(shot ==
true)}
var rptcontrolplay =
setinterval
(controlplay,20)
;
js實現飛機大戰小遊戲
一開始先定義乙個變數state記錄遊戲的狀態 預備遊戲開始前的準備介面的內容 畫布的寬高 遊戲的各種狀態 自定義的規則,定義常量來實現 繪製不斷運動的背景,建立物件,給定的src屬性 載入 設定背景物件的詳細資訊,寬度,高度,物件,自定義建構函式 設定基本的資料 設定繪圖的需要的座標 兩張需要不斷的...
飛機大戰的小遊戲
c語言 include include include include include define max 100 long long int speed 0 控制敵機的速度 int position x,position y 飛機的所在位置 int high,width 地圖的大小 int bu...
一些小遊戲
智力遊戲 七巧板 九連環 華容道 骨牌 魯班鎖 幻方 數獨 數字九宮格 蜘蛛爬行 孔明棋 縱橫字謎 小遊戲 game 1 傳球數數 目的 學習數字1 5的英文表達。或其它數字 道具 乙隻皮球 方法 1.讓學生站或坐成一圈。2.由拿球的人開始向任意乙個學生傳球,球出手後說出乙個數字。3.接球的同學必須...