今天是個(gè)特殊的日子,圣誕節(jié),也是周末,在這里先祝大家圣誕快樂(lè)!喜慶的日子,我們可以稍微放松一下,扯一扯昨天雷霆對(duì)戰(zhàn)凱爾特人的比賽,這場(chǎng)比賽大威少又雙叒叕拿下三雙,而且是一個(gè)45+11+11的超級(jí)三雙,其實(shí)小托馬斯的表現(xiàn)也不遑多讓?zhuān)孟?1分9個(gè)助攻,末節(jié)一開(kāi)始便帶隊(duì)打出一波小高潮反超比分,無(wú)奈威少爺最后幾分鐘暴走直接帶走比賽,讓人直呼精彩。好了,扯完之后我們進(jìn)入正題。

  今天給大家?guī)?lái)的是一個(gè)比較好玩的東西——H5坦克大戰(zhàn)。這個(gè)東西的實(shí)現(xiàn)主要用到了H5的canvas以及原生的js,如果你已經(jīng)是大牛,那筆者建議現(xiàn)在開(kāi)始可以隔五行一看,畢竟筆者也才入行不久還在奔往大牛村的路上,如果你是個(gè)新手基礎(chǔ)薄弱,那么也請(qǐng)不要離開(kāi),筆者會(huì)很啰嗦,盡量寫(xiě)成初學(xué)者也看得懂的代碼(哈哈如此心機(jī)的一個(gè)伏筆,誰(shuí)還敢說(shuō)代碼水平不夠?。?。

  

  1. 首先做出繪圖區(qū),作為坦克的戰(zhàn)場(chǎng)

 

<canvas id="floor" width="800px" height="500px"></canvas>

  我們給一個(gè)黑色的背景色,并且讓它居中(如果對(duì)居中的各種奇淫技巧感興趣,歡迎訪(fǎng)問(wèn)我的第一篇博客——“CSS垂直居中的11種實(shí)現(xiàn)方式”,點(diǎn)擊這里進(jìn)行傳送 http://www.cnblogs.com/zhouhuan/p/vertical_center.html)。

 

移動(dòng)開(kāi)發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

#floor {
    background:#000;
    position: absolute;
    top: 50%;
    left:50%;
    transform:translate(-50%, -50%);
}

移動(dòng)開(kāi)發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

  結(jié)果如下:

移動(dòng)開(kāi)發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

  這里要說(shuō)明一下,對(duì)于canvas畫(huà)布,寫(xiě)在樣式里的寬高和寫(xiě)在屬性里的寬高是不等價(jià)的,寫(xiě)在樣式里的寬高是實(shí)際顯示在頁(yè)面里的像素寬高,而寫(xiě)在屬性里的寬高是context的環(huán)境寬高(有些小伙伴可能暫時(shí)對(duì)context還沒(méi)有概念,沒(méi)關(guān)系,這里如果不能理解可以暫時(shí)先這樣做,跟著筆者的思路走,待會(huì)講了context之后再回來(lái)自己試一下便會(huì)有所體會(huì)),這二者的默認(rèn)值都是300px 150px,如果將樣式的寬高改為800px 500px,那么其實(shí)是相當(dāng)于將context環(huán)境內(nèi)的300px 150px畫(huà)在了現(xiàn)實(shí)中的800px 500px,會(huì)導(dǎo)致畫(huà)的東西變得模糊,并且可能出現(xiàn)變形,所以一般要保持樣式寬高與屬性寬高

網(wǎng)友評(píng)論