欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          HTML5邊玩邊學(xué)(十)-俄羅斯方塊之控制界面篇(源碼)

          本來想寫幾句的,但是看到前面一篇的反映不是很理想,所以也沒動(dòng)力了,原計(jì)劃下面還想寫個(gè)“貪吃蛇”的,看看再說吧,直接上源代碼。

          這一次在上一篇程序的基礎(chǔ)上增加了以下功能:

          1、鍵盤控制

          2、開始、暫停

          3、消除時(shí)候空行的停頓效果

          4、隨著消除行數(shù)的增多,速度加快

          5、音效

          等等。

          代碼里的注釋已經(jīng)很詳細(xì)了,上一篇中模型的代碼基本上沒改動(dòng),只是增加了控制和圖形的代碼,自己感覺寫的還是比較有條理的。

          提示:本文中的俄羅斯方塊游戲需要 Chrome 瀏覽器才能得到最好的運(yùn)行效果,F(xiàn)irefox 瀏覽器也可以運(yùn)行,但是沒有聲音效果。

          后面羅嗦兩句,愿意看的就看看。

          這一部分代碼主要由兩個(gè)定時(shí)器組成。

          第一個(gè)定時(shí)器每間隔一段時(shí)間就產(chǎn)生一個(gè) TickMessage 消息,對(duì)這個(gè)消息的處理就是使方塊下落,下落后每消去一次,觸發(fā)的速度就更快一點(diǎn)。

          第二個(gè)定時(shí)器是消息循環(huán),他盡可能快的循環(huán),所以時(shí)間間隔設(shè)置為0。

          因?yàn)檎麄€(gè)游戲的模型部分和控制部分會(huì)產(chǎn)生很多的事件,誰也不知道用戶什么時(shí)候按下按鍵,所以這里維護(hù)了一個(gè)消息隊(duì)列。

          一旦有新的情況產(chǎn)生,就在消息隊(duì)列里面添加上一條對(duì)應(yīng)的消息,而消息循環(huán)不停的從里面取出消息,只要有就取出一條,并處理它。

          圖形部分,重點(diǎn)是要把七種顏色的小方塊事先繪制好,并緩存起來,后面需要的時(shí)候直接使用。否則臨時(shí)繪制的話,隨著方塊的增多,程序會(huì)出現(xiàn)卡死現(xiàn)象。

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)