999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于HTML5的Flappybird游戲設計與開發

2019-12-13 07:22:50曹學琪尼瑪扎西
數字技術與應用 2019年9期

曹學琪 尼瑪扎西

摘要:隨著網絡技術的快速發展,網頁游戲逐漸受到游戲玩家的青睞。Flappy bird是一款經典網頁小游戲,對開發者的綜合能力要求較高。本文使用HTML5中的Canvas結合JavaScript來開發Flappy bird。

關鍵詞:HTML5;JavaScript;Canvas;游戲開發;Flappy bird

中圖分類號:TP311.1 文獻標識碼:A 文章編號:1007-9416(2019)09-0132-02

0 引言

HTML5作為HTML的最新標準,增添新多媒體(video、audio)、新表單(keygen、output)、畫布(canvas)等元素,對網頁提供更好的頁面結構。本文結合HTML5中的新元素結合JavaScript腳本,對網頁小游戲Flappy bird進行設計和開發。

1 整體方案設計

1.1 游戲功能

本文設計的Flappy bird小游戲基于B/S架構,小游戲可以運行在Windows、Android、Mac OS等操作系統的瀏覽器中。當游戲運行時,玩家通過點擊手機屏幕(在電腦上使用鼠標點擊屏幕)來控制小鳥向上飛動,每當小鳥飛過一對管道的縫隙玩家游戲得分,當小鳥碰到管道或墜落地面時游戲結束。

1.2 程序流程和框架

當游戲玩家進入游戲后,系統開始加載圖片、音頻等資源文件,加載完畢后管道開始向左運動。玩家通過點擊屏幕來控制小鳥的飛動,游戲整體流程設計如圖1。

2 主要模塊設計

Flappy bird小游戲從主界面設計、屏幕適配模塊、小鳥模塊、管道模塊、碰撞檢測等模塊對主要的模塊進行設計。

2.1 程序入口

游戲的index.html為入口界面,Game.js為控制游戲的腳本,在開發程序時,首先需要在index.html中引入canvas元素,并加載Game.js腳本文件:

2.2 屏幕適配模塊

在HTML中,分別用document的Element.clientWidth、Element.clientHeight屬性來表示當前頁面的可視寬高屬性,為給玩家提供更好的游戲體驗,本設計對人們使用的主流手機型號進行屏幕適配,首先列出不同型號機型的屏幕尺寸。

由表1可以發現,屏幕寬度值最小的是iPhone 4,最大的是Nexus7;屏幕高度值最小的是iPhone 4,最大的是Nexus 7。由此可以根據屏幕的極值,設計適配屏幕的方法使得游戲全屏顯示。令cW=clientWidth、cH=clientHeight,那么屏幕的寬度判定方法設計為:cW<320?320:cW,cW>600?600:cW;屏幕高度的判定方法為:cH<600?600:cH,cH>960?960:cH。

2.3 小鳥模塊

本文設計有三種顏色的鳥,小鳥的高度為屏幕的0.04倍。游戲開始后,那么需要先使用Math.random()產生一個{0,1,2}中的隨機數,從而產生黃色、藍色、紅色的一組鳥,每一組鳥包括三個圖片對應鳥扇動翅膀的不同效果。游戲中使用canvas元素中的drawImage()方法繪制小鳥:

function drawBird() {

(++fno)>=1000?fno:0;

//for

ctx.drawImage(imgBird[fno%300%3],birdX,birdY,birdW,birdH);

birdY+=birdSpeedDown;

t++;

birdSpeedDown=(2*t+1)*0.1;

}

玩家點擊屏幕小鳥向上飛動,同時播放小鳥飛動聲音,通過小鳥縱軸坐標變小可實現小鳥向上飛動:

function birdUp() {

mediaSwing.play();

birdY-=birdSpeedUp;

}

2.4 管道模塊

游戲不斷產生新的管道,產生起始坐標位置隨機,寬為canvas寬的0.1倍,高為canvas的高減去gap的值。管道需要向左運動,因此把管道設置成數組對象,增添新管道時向其中push元素即可:

pipeArr.push({

pX0:gameW,

pY0:gameH*(-Math.random()*0.47)

});

2.5 碰撞檢測

設小鳥有四個屬性值:birdHead,birdFoot,birdLeft,birdRight。

小鳥總共三種情況下會產生碰撞:碰撞上管道、碰撞下管道、碰撞地面,如圖2所示。根據三種碰撞類型,設計碰撞模型,判斷小鳥是否發生碰撞:

(1)碰撞上管道判斷方法:birdRight>pipeUpLeft&&birdHead

(2)碰撞下管道判斷方法:birdFoot>pipeDownHead&&birdRight>pipeDownLeft&&birdLeft

(3)碰撞地面判斷方法:birdFoot>groundHead。

2.6 游戲測試

在游戲開發完成后,Chrome中針對表1全部的手機機型進行仿真測試,游戲的歡迎界面顯示、屏幕適配、游戲功能操作、游戲分數顯示功能均正常。

3 結語

我通過這次對Flappy bird小游戲的開發,加深了HTML、JavaScript等知識的認識。通過這個小項目,將所學過的知識融會貫通,付出實踐,對以后的程序開發設計提供了幫助。在開發過程中我遇到了一些程序上的問題,非常感謝對我提供指導和幫助的老師以及同學。

參考文獻

[1] 薛玉倩.基于HTML5的Web前端設計與開發[J].內蒙古科技與經濟,2019(17):68-69.

[2] 秦鵬珍.基于Java的拼圖游戲實現[J].電子技術與軟件工程,2019(13):237-238.

[3] 謝昊,昝鄉鎮.基于JAVA平臺的flappy bird游戲設計[J].電腦知識與技術,2018,14(29):77-79.

[4] 楊錦.關于網頁設計與制作方法研究[J].計算機產品與流通,2019(08):210.

[5] 曾婷,凌財進.基于HTML5的計算機一級考試模擬Web APP的設計與實現[J].辦公自動化,2019,24(15):60-62.

[6] 韓東陽,張松玥,王巖.微信小程序“IT云文檔”探討[J].湖北農機化,2019(16):153.

Abstract:With the rapid development of network technology, web games are gradually favored by gamers. Flappy bird is a classic web game that requires a high level of developer competence. This article uses canvas in HTML5 in conjunction with JavaScript to develop Flappy bird.

Key words:HTML5;JavaScript;Canvas;Game development;Flappy bird

主站蜘蛛池模板: 国产亚洲精品无码专| 国产69精品久久久久孕妇大杂乱| 午夜精品久久久久久久99热下载| 亚洲中文久久精品无玛| 中文无码精品a∨在线观看| 免费精品一区二区h| 华人在线亚洲欧美精品| 国产无码精品在线| 国产精品永久不卡免费视频| 国产午夜无码片在线观看网站| 国产在线自揄拍揄视频网站| 成人免费午夜视频| 中国精品自拍| 国产色图在线观看| 热re99久久精品国99热| 亚洲av片在线免费观看| 国产中文在线亚洲精品官网| 欧美日韩激情在线| 亚洲日韩在线满18点击进入| 久久人人爽人人爽人人片aV东京热| 人妻无码一区二区视频| 亚洲人成人伊人成综合网无码| 美女国产在线| 一级一级特黄女人精品毛片| 99精品福利视频| 国产综合无码一区二区色蜜蜜| 67194亚洲无码| 在线视频一区二区三区不卡| AV无码国产在线看岛国岛| 天堂av高清一区二区三区| 欧美色99| 狠狠色香婷婷久久亚洲精品| v天堂中文在线| 97国内精品久久久久不卡| 99色亚洲国产精品11p| 国产精品久久久久久影院| 欧美在线伊人| 91久久精品日日躁夜夜躁欧美| 九九热免费在线视频| 欧美日韩国产精品va| 97se亚洲综合在线韩国专区福利| 国产成人精品视频一区二区电影 | 三级视频中文字幕| 国产欧美日韩专区发布| 国产91视频免费观看| 一本大道香蕉久中文在线播放| 亚洲高清在线播放| 国产十八禁在线观看免费| 国产亚洲欧美在线人成aaaa| 成人91在线| 国产视频自拍一区| 91青草视频| 无码国产伊人| 成人免费午间影院在线观看| 色香蕉网站| 国产超薄肉色丝袜网站| 狂欢视频在线观看不卡| 国产美女免费| 亚洲精品在线91| 国产成人高清精品免费| 园内精品自拍视频在线播放| 欧美三級片黃色三級片黃色1| 亚洲成年网站在线观看| 美女一级毛片无遮挡内谢| 天堂亚洲网| 色婷婷狠狠干| 亚洲精品在线观看91| 亚洲国产精品无码久久一线| 日韩久久精品无码aV| 天天综合网色中文字幕| 欧美精品在线视频观看| 亚国产欧美在线人成| 国产乱子伦精品视频| 被公侵犯人妻少妇一区二区三区 | 日韩欧美国产精品| 亚洲男人的天堂在线观看| 亚洲欧美一区二区三区图片 | 国产福利免费在线观看| 国产欧美网站| 亚洲AV无码不卡无码 | 黄色三级网站免费| 国产精品精品视频|