Html5游戲開(kāi)發(fā)之乒乓Ping Pong游戲示例(二)_HTML5教程
推薦:HTML5之SVG 2D入門(mén)8—文檔結(jié)構(gòu)及相關(guān)元素總結(jié)前面介紹了很多的基本元素,包括結(jié)構(gòu)相關(guān)的組合和重用元素,這里主要是對(duì)SVG的文檔結(jié)構(gòu)中剩下的相關(guān)元素簡(jiǎn)單總結(jié)一下,感興趣的朋友可不要錯(cuò)過(guò)哦,然后繼續(xù)向前領(lǐng)略SVG的其他特性
HeaderandfooterHtml5引進(jìn)了許多新的特性和改進(jìn),其中一項(xiàng)就是語(yǔ)義。Html5增加了新的元素來(lái)加強(qiáng)語(yǔ)義。我們現(xiàn)在只使用2個(gè),header和footer。<header>標(biāo)簽定義文檔的頁(yè)眉(介紹信息),<footer>標(biāo)簽定義section或document的頁(yè)腳。在典型情況下,該元素會(huì)包含創(chuàng)作者的姓名、文檔的創(chuàng)作日期以及/或者聯(lián)系信息。
[語(yǔ)義標(biāo)簽在HTML中提供有意義的信息,而不只是定義視覺(jué)效果。]
放置JavaScript代碼的最佳位置
我們將JavaScript代碼放置在</body>標(biāo)簽之前所有頁(yè)面內(nèi)容之后,而不是放置到<head></head>區(qū)域是有理由的。
通常,瀏覽器載入和渲染內(nèi)容是從上到下的。如果將JavaScript代碼放置到head區(qū)域,那么在將所有的JavaScript代碼載入完成之前Html文檔的內(nèi)容是不會(huì)被載入的。實(shí)際上,所有的載入和渲染都是被阻塞的(blocked),如果瀏覽器加載頁(yè)面中的JavaScript代碼。這就是我們?yōu)槭裁磳avaScript代碼放置在文檔最后的理由,這樣我們能夠提供更高的性能。
在翻譯這本書(shū)的時(shí)候,最新的jQuery版本是1.7(原話是:Atthetimeofwritingthisbook,thelatestjQueryversionis1.4.4。JQuery是有min版和開(kāi)發(fā)版的,你可以隨意選擇)。這就是為什么jQuery文件在我們的代碼示例中的名字是jquery-1.7.min.js。這個(gè)版本號(hào)也許會(huì)和你使用的不通,但是用法是一樣的,除非jQuery有大的修改使新版本不再向下兼容。
頁(yè)面準(zhǔn)備好后運(yùn)行我們的代碼
我們需要在運(yùn)行我們的JavaScript代碼前確保頁(yè)面已經(jīng)準(zhǔn)備就緒.否則,當(dāng)我們嘗試訪問(wèn)沒(méi)有加載完的元素的時(shí)候我們會(huì)得到一個(gè)錯(cuò)誤。jQuery提供給我們了一個(gè)方法來(lái)確保頁(yè)面是被加載完成的。代碼如下:
復(fù)制代碼 代碼如下:m.hl5o.cn
jQuery(document).ready(function(){
//codehere.
});
實(shí)際上,我們只需要這樣寫(xiě):
復(fù)制代碼 代碼如下:m.hl5o.cn
$(function(){
//codehere.
});
這個(gè)$標(biāo)記是jQuery的簡(jiǎn)寫(xiě)。當(dāng)我們calling(這個(gè)詞是調(diào)用的意思,zhuangbility一下)$(something),我們實(shí)際上是在callingjQery(something).
$(function_callback)是readyevent(事件)的另一個(gè)簡(jiǎn)寫(xiě)。
它是和以下代碼相同的:
復(fù)制代碼 代碼如下:m.hl5o.cn
$(document).ready(function_callback);
同樣,和下面的也相同:
復(fù)制代碼 代碼如下:m.hl5o.cn
jQuery(ducument).ready(function_callbak);
小測(cè)驗(yàn)
1、那個(gè)位置最適合放置JavaScript代碼?
a.<head>標(biāo)簽之前
b.插入到<head></head>元素中間。
c.<body>標(biāo)簽后
d.</body>標(biāo)簽前
創(chuàng)建PingPong游戲的元素
我們已經(jīng)準(zhǔn)備就緒,是時(shí)候創(chuàng)建PingPong游戲了。
動(dòng)起來(lái)
1、我們將繼續(xù)我們的jQuery安裝示例,在編輯器里打開(kāi)index.html。
2、然后,在body里用DIV節(jié)點(diǎn)創(chuàng)建游戲平臺(tái),在游戲平臺(tái)中有2個(gè)拍子和一個(gè)球:
復(fù)制代碼 代碼如下:m.hl5o.cn
<divid="game">
<divid="playground">
<divid="paddleA"class="paddle"></div>
<divid="paddleB"class="paddle"></div>
<divid="ball"></div>
</div>
</div>
3、我們現(xiàn)在構(gòu)建了游戲的對(duì)象,現(xiàn)在給他們樣式。放置一下代碼到head元素中:
復(fù)制代碼 代碼如下:m.hl5o.cn
<style>
#playground{
background:#e0ffe0;
width:400px;
height:200px;
position:relative;
overflow:hidden;
}
#ball{
background:#fbb;
position:absolute;
width:20px;
height:20px;
left:150px;
top:100px;
border-radius:10px;
}
.paddle{
background:#bbf;
left:50px;
top:70px;
position:absolute;
width:30px;
height:70px;
}
#paddleB{
left:320px;
}
</style>
4、在最后的部分,我們將JavaScript邏輯放置到j(luò)Query引用之后。我們將它寫(xiě)到一個(gè)單獨(dú)的文件里,因?yàn)槲覀兊拇a會(huì)越來(lái)越大。因此,我們需要?jiǎng)?chuàng)建一個(gè)名為HTML5/">html5games.pingpong.js在js文件夾里。
5、我們準(zhǔn)備好了JavaScript文件后,需要將他們連接到我們的Html文件。放置以下代碼在index.html文件的</body>標(biāo)簽前:
復(fù)制代碼 代碼如下:m.hl5o.cn
<scriptsrc="js/jquery-1.7.min.js"></script>
<scriptsrc="js/html5games.pingpong.js"></script>
[譯者友情提示:試試
復(fù)制代碼 代碼如下:m.hl5o.cn
<scriptsrc="js/jquery-1.4.4.js"/>
<scriptsrc="js/html5games.pingpong.js"/>
你會(huì)發(fā)現(xiàn)按規(guī)范寫(xiě)會(huì)避免很多麻煩]
6、我們將游戲的邏輯放到html5games.pingpong.js。下面是我們現(xiàn)在唯一的邏輯,初始化球拍:
復(fù)制代碼 代碼如下:m.hl5o.cn
//codeinside$(function(){}willrunaftertheDOMisloadedand
ready
$(function(){
$("#paddleB").css("top","20px");
$("#paddleA").css("top","60px");
});
7、現(xiàn)在讓我們?cè)跒g覽器中測(cè)試我們的成果。在瀏覽器中打開(kāi)index.html文件我們應(yīng)該看到先以下截圖類似的畫(huà)面:
發(fā)生了什么?
在我們的游戲里有了2個(gè)球拍和1個(gè)球。我們還使用jQuery初始化了2個(gè)球拍的位置。
[今天就到這里,后面馬上就是關(guān)于jQuery選擇器和CSS函數(shù)的部分,有什么錯(cuò)誤或疑問(wèn)歡迎給我留言]
看見(jiàn)你的評(píng)論是我最大的動(dòng)力!
分享:Html5游戲開(kāi)發(fā)之乒乓Ping Pong游戲示例(三)我們已經(jīng)用jQuery初始化了球拍�,F(xiàn)在我們做一個(gè)如何使用jQuery安置游戲元素,用網(wǎng)格背景來(lái)檢查我們游戲的元素位置的實(shí)驗(yàn),感興趣的朋友可以了解下,祝大家游戲開(kāi)發(fā)快樂(lè)
相關(guān)HTML5教程:
- 只要五步 就可以用HTML5/CSS3快速制作便簽貼特效(圖)
- 網(wǎng)易微博Web App用HTML5開(kāi)發(fā)的過(guò)程介紹
- HTML5 對(duì)各個(gè)標(biāo)簽的定義與規(guī)定:body的介紹
- 關(guān)于HTML5的安全問(wèn)題開(kāi)發(fā)人員需要牢記的
- 關(guān)于HTML5的22個(gè)初級(jí)技巧(圖文教程)
- 開(kāi)發(fā)人員所需要知道的HTML5性能分析面面觀
- HTML5 Web Database 數(shù)據(jù)庫(kù)的SQL語(yǔ)句的使用方法
- HTML5實(shí)踐-圖片設(shè)置成灰度圖
- HTML5安全介紹之內(nèi)容安全策略(CSP)簡(jiǎn)介
- HTML5 Web存儲(chǔ)方式的localStorage和sessionStorage進(jìn)行數(shù)據(jù)本地存儲(chǔ)案例應(yīng)用
- Bootstrap 學(xué)習(xí)分享
- input元素的url類型和email類型簡(jiǎn)介
HTML5教程Rss訂閱Div+Css教程搜索
HTML5教程推薦
- 突襲HTML5之Javascript API擴(kuò)展1—Web Worker異步執(zhí)行及相關(guān)概述
- html5指南-4.使用Geolocation實(shí)現(xiàn)定位功能
- HTML5離線緩存在tomcat下部署可實(shí)現(xiàn)圖片flash等離線瀏覽
- 開(kāi)發(fā)人員所需要知道的HTML5性能分析面面觀
- Javascript 高級(jí)手勢(shì)使用介紹
- html5與css3小應(yīng)用
- html5 Canvas畫(huà)圖教程(6)—canvas里畫(huà)曲線之a(chǎn)rcTo方法
- 關(guān)于HTML5的安全問(wèn)題開(kāi)發(fā)人員需要牢記的
- HTML5實(shí)踐-圖片設(shè)置成灰度圖
- html5聲頻audio和視頻video等新特性詳細(xì)說(shuō)明
- 相關(guān)鏈接:
- 教程說(shuō)明:
HTML5教程-Html5游戲開(kāi)發(fā)之乒乓Ping Pong游戲示例(二)
。