好了不扯,接著上一篇H5坦克大戰(zhàn)之【玩家控制坦克移動】(http://www.cnblogs.com/zhouhuan/p/H5_tankgame2.html),今天我們來繼續(xù)看玩家怎么控制坦克,今天主要修復兩處bug,第一個bug,玩家按下方向鍵時,坦克的炮筒應該指向相應的方向,并向該方向移動,第二,坦克不能開出邊界,上一節(jié)的代碼坦克是可以開出邊界的,這樣顯然不行,會讓坦克沒有安全感,我們造出了它,就要給它安全感。
1. 修復第一個bug
我們的思路是,給造坦克的函數(shù)里再傳一個方向的參數(shù),我們讓"u", "d", "l", "r"分別表示上下左右,封裝這樣一個可以傳方向的函數(shù)之后,我們在用戶按下不同的鍵時傳不同的參數(shù)進去,由于整個地板每隔100毫秒會刷新一次,那么這個函數(shù)就能以肉眼分辨不出來的速度,在用戶按下鍵的一瞬間相應地生產出不同方向的坦克了。
如下:
//封裝一個畫坦克的函數(shù),傳兩個參數(shù)x,y,分別代表左上角的橫縱坐標//再增加一個參數(shù)dir來表示方向 上下左右分別傳"u" "d" "l" "r"function drawTank(x,y,dir){ var cxt = getCxt(); switch(dir){ case "u": //此時造一個向上的坦克 cxt.fillStyle = "#542174"; cxt.fillRect(x,y,20,65); cxt.fillRect(x+70,y,20,65);