彭小紅,鄭瓊璇,鄧淦輝,林界
(廣東海洋大學(xué)信息學(xué)院,湛江524088)
基于HTML5&JavaScript的游戲設(shè)計(jì)和實(shí)現(xiàn)
彭小紅,鄭瓊璇,鄧淦輝,林界
(廣東海洋大學(xué)信息學(xué)院,湛江524088)
互聯(lián)網(wǎng)作為一個(gè)新興的媒介,逐漸成為網(wǎng)絡(luò)游戲、電子商務(wù)等大展拳腳的平臺(tái)。相比傳統(tǒng)的媒介而言,它最突出的優(yōu)勢(shì)就是動(dòng)畫的展示。而HTML5開發(fā)的應(yīng)用具有多設(shè)備、跨平臺(tái)的優(yōu)勢(shì),可隨時(shí)更新的優(yōu)勢(shì)、高標(biāo)準(zhǔn)化的優(yōu)勢(shì),使得HTML5游戲不斷發(fā)展和完善,逐漸成為主流。首先簡(jiǎn)要介紹該游戲的技術(shù)、社會(huì)需求的可行性分析及游戲開發(fā)的目的和結(jié)構(gòu)。然后從宏觀的角度介紹該游戲的設(shè)計(jì)原理、體系架構(gòu)等;從微觀的角度介紹該游戲開發(fā)的關(guān)鍵點(diǎn)。最后簡(jiǎn)要介紹利用以上原理和設(shè)計(jì)制作的游戲?qū)嵗故尽?/p>
HTML5;游戲開發(fā);網(wǎng)絡(luò)游戲;動(dòng)畫;引擎
在一個(gè)手機(jī)和平板電腦普及的時(shí)代,移動(dòng)優(yōu)先是無法阻止的趨勢(shì)。在這種多終端的環(huán)境下,開發(fā)Web游戲應(yīng)用更加適應(yīng)時(shí)代的潮流。正是移動(dòng)技術(shù)的發(fā)展以及智能終端的普及和人們利用碎片化時(shí)間的行為模式,使得這種基于全新技術(shù)平臺(tái)和規(guī)則的HTML5游戲獲得巨大的市場(chǎng)空間。
為了滿足用戶在娛樂上的碎片化、可視化、社交化等方面的需求,設(shè)計(jì)和開發(fā)這款基于HTML5和JavaScript的Web游戲。實(shí)現(xiàn)玩家登錄、注冊(cè)賬號(hào)的功能,以記錄玩家在游戲中的行為,通過簡(jiǎn)單的游戲方式、精美生動(dòng)的游戲動(dòng)畫效果使玩家得到視覺上和體驗(yàn)上的享受,同時(shí)達(dá)到放松壓力的目的。游戲結(jié)束后,玩家可以查看自己在眾多玩家中的高分排行榜。若分值超過抽獎(jiǎng)的設(shè)定值,即可參加本游戲的抽獎(jiǎng)活動(dòng),以增加游戲和玩家之間的互動(dòng)性[1]。
1.1技術(shù)性可行性分析
互聯(lián)網(wǎng)作為一個(gè)新興的媒介,日漸成為網(wǎng)絡(luò)游戲大展拳腳的平臺(tái)。基于HTML5開發(fā)的游戲,具有跨設(shè)備、跨平臺(tái)進(jìn)行使用的一大優(yōu)勢(shì),并且能自動(dòng)適應(yīng)設(shè)備,使其顯示效果最佳[2]。這與Native App依賴整個(gè)終端設(shè)備運(yùn)行是有極大改良的。本游戲的一大特點(diǎn)是不借助任何框架,用原生的技術(shù)去實(shí)現(xiàn),以達(dá)到透徹理解和掌握Web游戲開發(fā)的底層運(yùn)作思想。
1.2社會(huì)需求可行性分析
隨著互聯(lián)網(wǎng)的迅速發(fā)展,無論是智能手機(jī)還是Web瀏覽器在生活中的使用頻率越來越高,HTML5游戲經(jīng)過一直以來的發(fā)展和蛻變,在諸多方面已達(dá)到原生游戲的水平,被廣大玩家們所接受。其即點(diǎn)即玩的特性也成為了各大企業(yè)宣傳和傳播的一個(gè)手段,特別是在微信中的推廣速度,看似非常簡(jiǎn)單的小游戲,卻在微信朋友圈中得到強(qiáng)勢(shì)的關(guān)注度,其易用性和跨設(shè)備性,讓每個(gè)人都可以輕易掌控。
1.3系統(tǒng)目的
HTML5游戲的內(nèi)容以形態(tài)多樣化、真實(shí)還原化、趣味互動(dòng)化為特點(diǎn),滿足用戶在娛樂上的碎片化、可視化、社交化等方面的需求[3]。實(shí)現(xiàn)了用戶注冊(cè)、登錄功能,流暢連貫的開展游戲互動(dòng),查看高分排行榜等,并以抽獎(jiǎng)活動(dòng)的形式激發(fā)用戶的重玩度。
1.4系統(tǒng)結(jié)構(gòu)
本游戲總為四大功能模塊,分別對(duì)應(yīng)初始模塊、游戲模塊、結(jié)束模塊、抽獎(jiǎng)模塊。其中初始模塊主要用于用戶的登錄和注冊(cè)功能;游戲模塊主要用于游戲進(jìn)行中的所有玩法及分值計(jì)算;結(jié)束模塊主要用于排行榜的查詢以及當(dāng)前用戶最高分的分值記錄;抽獎(jiǎng)模塊主要用于用戶游戲分值達(dá)標(biāo)時(shí)的抽獎(jiǎng)互動(dòng)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)系統(tǒng)圖
本游戲采用瀏覽器/服務(wù)器(B/S)模式,采用HTML5負(fù)責(zé)游戲的頁面渲染及顯示、JavaScript技術(shù)處理業(yè)務(wù)邏輯、動(dòng)畫效果實(shí)現(xiàn)、分值計(jì)算等,相當(dāng)于本游戲的驅(qū)動(dòng)引擎,結(jié)合傳統(tǒng)的JSP+Servlet+JavaBean的后臺(tái)數(shù)據(jù)處理,MySQL承擔(dān)數(shù)據(jù)庫管理。各種技術(shù)相輔相成,共同組成了本游戲。
2.1體系架構(gòu)設(shè)計(jì)
游戲采用三層體系結(jié)構(gòu),既包括瀏覽器、服務(wù)器、數(shù)據(jù)庫系統(tǒng)三大部分。本游戲分為數(shù)據(jù)服務(wù)器層、業(yè)務(wù)邏輯層(功能層)和表現(xiàn)層。本游戲體系架構(gòu)圖如圖2所示。
2.2前端結(jié)構(gòu)
游戲的前端結(jié)構(gòu)分為三部分:控制中心、對(duì)象類、工具類。
圖2 游戲體系架構(gòu)圖
為了方便整個(gè)游戲的操作和控制,將所有的動(dòng)畫對(duì)象實(shí)例化放在一個(gè)總的控制中心上,控制中心就像導(dǎo)演一樣負(fù)責(zé)總的調(diào)控。是一個(gè)直接面向用戶的接口層,負(fù)責(zé)初始化整個(gè)游戲的對(duì)象類,并繪制所有的動(dòng)畫。
而對(duì)象類的實(shí)例就是控制中心上的一個(gè)一個(gè)動(dòng)畫,所以對(duì)象類的功能就是創(chuàng)建動(dòng)畫。包含了??麑?duì)象、魚對(duì)象、果實(shí)對(duì)象等。包含了每個(gè)對(duì)象的特殊屬性以及相關(guān)的初始化方法和繪制方法,需要用到該對(duì)象時(shí),對(duì)象的實(shí)例化即可調(diào)控該對(duì)象去完成相應(yīng)的任務(wù)。
工具類的主要功能即是為對(duì)象類提供動(dòng)畫效果的方法,有擺動(dòng)效果、旋轉(zhuǎn)效果、特效效果等,它們之間是不存在繼承關(guān)系的。本游戲前端結(jié)構(gòu)圖如圖3所示。
JavaScript技術(shù)是負(fù)責(zé)游戲中所有業(yè)務(wù)邏輯處理,起到游戲引擎的作用。是整個(gè)游戲設(shè)計(jì)和實(shí)現(xiàn)的關(guān)鍵點(diǎn)。使用JavaScript技術(shù)可以更加清楚的理解和掌握開發(fā)HTML5游戲的底層運(yùn)作原理和思想,極具學(xué)習(xí)價(jià)值。
3.1游戲動(dòng)態(tài)效果設(shè)計(jì)
支持整個(gè)游戲的動(dòng)畫效果均由循環(huán)gameloop函數(shù)所實(shí)現(xiàn)了,游戲的主要核心就是動(dòng)畫,而該函數(shù)實(shí)現(xiàn)了控制整個(gè)游戲的動(dòng)畫效果使其具有連貫性和順暢性。因此,該gameloop函數(shù)的動(dòng)畫編程對(duì)于整個(gè)游戲編程來說是至關(guān)重要的。
圖3 前端結(jié)構(gòu)圖
(1)實(shí)現(xiàn)原理
游戲編程中的動(dòng)畫效果可以想象成是由一系列的幀去繪制實(shí)現(xiàn)的,好比是通過一系列預(yù)先生成的、靜態(tài)的幀圖像快速顯示,形成只有細(xì)微差別的圖像動(dòng)畫[4-5]。在動(dòng)畫效果編程中,我們需要考慮的是不同機(jī)器的性能是各有差別的,導(dǎo)致其機(jī)器系統(tǒng)和處理器能力也不同。為了使得實(shí)現(xiàn)一個(gè)平滑順暢的動(dòng)畫效果,應(yīng)該根據(jù)不同機(jī)器的性能來確定間隔多長時(shí)間去繪制下一幀。相當(dāng)于,動(dòng)畫運(yùn)行的間隔時(shí)差即物體運(yùn)動(dòng)的速度,間隔時(shí)差的穩(wěn)定即使得物體運(yùn)動(dòng)處于勻速狀態(tài);間隔時(shí)差的有序增大即使得物體運(yùn)動(dòng)處于加速狀態(tài);間隔時(shí)差的有序減弱即使得物體運(yùn)動(dòng)處于減速狀態(tài)。
(2)存在問題
瀏覽器自身存在的一個(gè)問題,當(dāng)頁面離開當(dāng)前網(wǎng)頁的標(biāo)簽頁時(shí),會(huì)導(dǎo)致頁面內(nèi)容不執(zhí)行,即處于停止?fàn)顟B(tài)。然而動(dòng)畫效果編程是依賴間隔時(shí)差的穩(wěn)定性來實(shí)現(xiàn)了,頁面的停止?fàn)顟B(tài)會(huì)導(dǎo)致動(dòng)畫間隔時(shí)差的計(jì)算出現(xiàn)錯(cuò)誤。
(3)實(shí)現(xiàn)方法
使用requestAnimFrame函數(shù)進(jìn)行間隔時(shí)差的控制,其優(yōu)點(diǎn)在于該函數(shù)可以在當(dāng)前幀完成繪制后根據(jù)機(jī)器性能來確定間隔多長時(shí)間去繪制下一幀,可智能計(jì)算動(dòng)畫效果的間隔時(shí)差[6]。然而使用requestAnim-Frame函數(shù)需要考慮不同瀏覽器的兼容性問題,同時(shí)需要考慮的是,該函數(shù)所產(chǎn)生的幀與幀之間的時(shí)間間隔是不固定的且不穩(wěn)定,我們需要通過控制時(shí)間差的變動(dòng)幅度來讓動(dòng)畫效果允速進(jìn)行。游戲動(dòng)態(tài)效果設(shè)計(jì)的流程圖如4所示。
圖4 游戲動(dòng)態(tài)效果設(shè)計(jì)流程圖
3.2對(duì)象實(shí)例化設(shè)計(jì)
對(duì)象類實(shí)例化相當(dāng)于整個(gè)游戲中一個(gè)一個(gè)的對(duì)象,每個(gè)對(duì)象應(yīng)包含自身特有的屬性,初始化方法以及繪制方法,該對(duì)象是實(shí)現(xiàn)路徑設(shè)置、動(dòng)畫效果的基礎(chǔ)前提。而繪制可以通過HTML5中Canvas標(biāo)簽的一些繪制API實(shí)現(xiàn)對(duì)象的繪制,也可以使用切分割好的一系列圖片通過輪播序列幀一幀一幀的繪制[7]。
(1)實(shí)現(xiàn)原理:
定義一個(gè)對(duì)象類,對(duì)這個(gè)類定義自身特有的屬性,為該類定義初始化方法、繪制方法。游戲開始時(shí),通過對(duì)象類實(shí)例化對(duì)象,初始化該對(duì)象,并將該對(duì)象的繪制方法放置于gameloop函數(shù)中循環(huán)繪制。對(duì)象類實(shí)例化設(shè)計(jì)的流程圖如圖5所示。
3.3動(dòng)畫路徑設(shè)置設(shè)計(jì)
為了讓游戲的動(dòng)畫效果更加生氣,更加形象,需要為游戲的對(duì)象設(shè)置路徑了。在整個(gè)游戲中基本的移動(dòng)方式是deltaTime提供的勻速直線運(yùn)動(dòng)。整個(gè)畫面的對(duì)象在不設(shè)置路徑前都是處于勻速運(yùn)動(dòng)狀態(tài)。deltaTime是保證游戲中的動(dòng)畫流暢連貫的重要變量,一旦需要用到隨時(shí)間變化的變量,或者改變物體運(yùn)動(dòng)速度的變量時(shí),一定要使用deltaTime來使得這整個(gè)變動(dòng)的過程保持流暢性和連貫性。以鼠標(biāo)控制對(duì)象的路徑設(shè)置實(shí)現(xiàn)為例子來說明。
圖5 對(duì)象實(shí)例化設(shè)計(jì)流程圖
(1)實(shí)現(xiàn)原理
①監(jiān)測(cè)鼠標(biāo)的動(dòng)作,獲得鼠標(biāo)與觸發(fā)事件的對(duì)象相關(guān)的鼠標(biāo)位置的坐標(biāo)值。
②獲取該鼠標(biāo)移動(dòng)時(shí)的坐標(biāo)值。
③獲取對(duì)象當(dāng)前位置的坐標(biāo)值。
④使得對(duì)象移動(dòng)的位置要跟隨鼠標(biāo)移動(dòng)到的位置。即實(shí)現(xiàn)一個(gè)源坐標(biāo)值按一定的速度趨向于一個(gè)目標(biāo)坐標(biāo)值。
換而言之,即是鼠標(biāo)移動(dòng)到哪,對(duì)象會(huì)一定的速度比例移動(dòng)到鼠標(biāo)的位置,從而實(shí)現(xiàn)對(duì)象隨鼠標(biāo)移動(dòng)的動(dòng)畫路徑設(shè)置。
(2)實(shí)現(xiàn)方法
使用lerpDistance函數(shù),即一個(gè)源坐標(biāo)值趨向于一個(gè)目標(biāo)坐標(biāo)值的函數(shù)。含三個(gè)參數(shù):目標(biāo)值、當(dāng)前值、移動(dòng)速度。其中delta是目標(biāo)值和當(dāng)前值的距離差,返回一個(gè)按一定距離差乘以移動(dòng)速度的比例去趨向于目標(biāo)坐標(biāo)值。
3.4基于數(shù)學(xué)原理的動(dòng)畫效果設(shè)計(jì)
在游戲制作中,為了使得游戲的動(dòng)畫更類似于現(xiàn)實(shí)生活中的實(shí)際情況,單單實(shí)現(xiàn)動(dòng)畫路徑設(shè)置是遠(yuǎn)遠(yuǎn)不夠的。例如在海底世界中,海葵是根據(jù)水面的波動(dòng)而左右漂浮的,為了使得海底的動(dòng)畫更加真實(shí),應(yīng)該有一個(gè)??〉膭?dòng)畫。除此以外,在鼠標(biāo)控制魚對(duì)象移動(dòng)時(shí),為了更加具有真實(shí)性,應(yīng)該使得指向鼠標(biāo)的大魚旋轉(zhuǎn)其身體到達(dá)鼠標(biāo)的位置。而這一類動(dòng)畫效果的實(shí)現(xiàn)離不開數(shù)學(xué)原理了。以擺動(dòng)動(dòng)畫和旋轉(zhuǎn)動(dòng)畫為例來說明。
1、擺動(dòng)動(dòng)畫效果的設(shè)計(jì)
(1)實(shí)現(xiàn)原理
利用二次貝塞爾曲線實(shí)現(xiàn)擺動(dòng)動(dòng)畫,使得對(duì)象形成一個(gè)弧度,設(shè)置起始點(diǎn)、控制點(diǎn)的坐標(biāo)固定,結(jié)束點(diǎn)進(jìn)行左右搖擺,即可形成擺動(dòng)效果。其中,結(jié)束點(diǎn)的坐標(biāo)移動(dòng)需要利用正弦函數(shù)控制擺動(dòng)的振幅,使得對(duì)象擺動(dòng)得有秩序且畫面平滑。
(2)基本原理
①二次貝塞爾曲線
貝塞爾曲線,又稱貝茲曲線或貝濟(jì)埃曲線,是應(yīng)用于二維圖形應(yīng)用程序的數(shù)學(xué)曲線。一般的矢量圖形軟件通過它來精確畫出曲線,貝茲曲線由線段與節(jié)點(diǎn)組成,節(jié)點(diǎn)是可拖動(dòng)的支點(diǎn),線段像可伸縮的皮筋[8]。二次貝塞爾曲線需要兩個(gè)點(diǎn)。第一個(gè)點(diǎn)是用于二次貝塞爾計(jì)算中的控制點(diǎn),第二個(gè)點(diǎn)是曲線的結(jié)束點(diǎn)。曲線的開始點(diǎn)是當(dāng)前路徑中最后一個(gè)點(diǎn)。其中二次貝塞爾曲線的示例圖如圖6所示。
圖6 二次貝塞爾曲線的示例圖
②正弦函數(shù)
正弦定理是三角學(xué)中的一個(gè)基本定理,它指出“在任意一個(gè)平面三角形中,各邊和它所對(duì)角的正弦值的比相等且等于外接圓半徑的2倍”,即a/sinA=b/sinB=c/sinC=2r=D(r為外接圓半徑,D為直徑)。其中alpha即是正弦曲線的x坐標(biāo),會(huì)隨著時(shí)間的增加而增加。l即是正弦曲線的y坐標(biāo),隨著x坐標(biāo)的增加,會(huì)在[1,-1]之間取值,從而控制擺動(dòng)效果的振幅。其中正弦函數(shù)的示例圖如圖7所示:
圖7 正弦函數(shù)的示例圖
2、旋轉(zhuǎn)動(dòng)畫效果的設(shè)計(jì)
(1)實(shí)現(xiàn)原理
根據(jù)極坐標(biāo)的數(shù)學(xué)原理,逆時(shí)針旋轉(zhuǎn)180度,角度則為-π的弧度值,順時(shí)針旋轉(zhuǎn)旋轉(zhuǎn)180度,角度則為+ π的弧度值。對(duì)象1和對(duì)象2的坐標(biāo)值之間的坐標(biāo)差會(huì)形成一個(gè)三角形,三角形的夾角即是對(duì)象1相對(duì)于對(duì)象2的角度,因此對(duì)象2自身的旋轉(zhuǎn)角度應(yīng)該追隨這個(gè)坐標(biāo)差所形成的角度(即三角形的夾角)。
下面分模塊展示基于HTML5和JavaScript的游戲開發(fā)案例,以泡泡魚為案例展示。
4.1初始模塊
該模塊包含玩家的注冊(cè)、登錄功能。初始模塊界面展示如圖8所示。
圖8 初始模塊展示
4.2游戲模塊
游戲模塊即游戲進(jìn)行中的頁面,游戲模塊界面展示如圖9所示。
圖9 游戲模塊展示
4.3結(jié)束模塊
游戲結(jié)束后,所得分值會(huì)傳送給后臺(tái)。后臺(tái)將當(dāng)前分值與該玩家的最高分值做對(duì)比,若當(dāng)前分值高于以往的最高分,則將當(dāng)前分值存入數(shù)據(jù)庫;否則不做任何處理。玩家亦可通過排行榜功能查看眾多玩家中的前五個(gè)最高分值。結(jié)束模塊界面展示如圖10所示,查看排行榜界面如圖11所示。
圖10 結(jié)束模塊展示
圖11 查看排行榜的展示
4.4抽獎(jiǎng)模塊
游戲結(jié)束后,當(dāng)該玩家的分值超過參與抽獎(jiǎng)活動(dòng)的某個(gè)設(shè)定值時(shí),玩家可進(jìn)入抽獎(jiǎng)頁面進(jìn)行抽獎(jiǎng)。抽獎(jiǎng)模塊界面展示如圖12所示。
圖12 抽獎(jiǎng)模塊展示
眾所周知,由于互聯(lián)網(wǎng)的快速發(fā)展,不管是前端還是后臺(tái)涌現(xiàn)了各種便于開發(fā)的技術(shù)框架,但是萬變不離其宗,任何框架的底層支持都是依賴基礎(chǔ)原理了。因此,本文以學(xué)習(xí)探索的角度出發(fā),不借助任何技術(shù)框架來實(shí)現(xiàn)該Web游戲,從而達(dá)到徹底理解和掌握游戲運(yùn)作原理的目的。
除此以外,當(dāng)今的網(wǎng)絡(luò)推廣,已不再是枯燥無味的文字描述,而是通過精美的圖片、具有回饋性的動(dòng)畫效果來展示,而此時(shí)HTML5游戲無疑是最佳的選擇之一,不受設(shè)備的限制,即點(diǎn)即玩,已然成為當(dāng)今人類娛樂的首選方式。本文基于HTML5&JavaScript的游戲設(shè)計(jì)和實(shí)現(xiàn),是現(xiàn)今社交手段的重要體現(xiàn),通過HTML5游戲達(dá)到互相交流,頻繁互動(dòng)的社交方式,以增加人與人之間的聯(lián)系度。并且滿足了人們利用碎片化時(shí)間的行為模式,HTML5游戲在現(xiàn)今的各種媒體傳播及商業(yè)模式下將有無限可能和發(fā)展空間。
[1]劉津,李月.破繭成蝶——用戶體驗(yàn)設(shè)計(jì)師的成長之路[M].北京:人民郵電出版社,2014.
[2]馮科融,王和興.HTML5網(wǎng)頁游戲分析[J].網(wǎng)絡(luò)與通信,2012(24):71-72.
[3]Fulton S,F(xiàn)ulton J.HTML5 Canvas[M].USA:O'Reilly Media,2011.
[4]Grady M.Functional Programming Using JavaScript and the HTML5 Canvas Element[J].Journal of Computing Sciences in Colleges,2010,26:97-105.
[5]Freeman E,Robson E.Head First HTML5 Programming[M].USA:O'Reilly Media,2011.
[6]Nicholas C,Zakas.JavaScript高級(jí)程序設(shè)計(jì)[M].北京:人民郵電出版社,2012.
[7]Lubbers P,Albers B,Salim F.HTML5高級(jí)程序設(shè)計(jì)[M].北京:人民郵電出版社,2011.
[8]宋宇,譚浩.游戲引擎開發(fā)技術(shù)簡(jiǎn)析[J].福建電腦,2007(8):31-32.
PENG Xiao-hong,ZHENG Qiong-xuan,DENG Gan-hui,LIN Jie
(College of Information Technology,Guangdong Ocean University,Zhanjiang 524088)
The Internet as a new media has gradually become online games,e-commerce platform.To flex its muscles compared to the traditional media,it is the most prominent advantage is the animation display.And with the development of the HTML5 application of multi device,cross platform advantages,can update the advantages of high standard,the HTML5 game development and perfection,has gradually become the mainstream.First of all,briefly introduces the technology of the game,the feasibility analysis of social demand and the purpose and structure of the game development.Then introduces the design principle and architecture of the game from a macro perspective,and introduces the key points of the game development from the micro angle.Finally,introduces the use of the above principles and design of the production of the game show.
HTML5;Game Development;Online Game;Animation;Engine
1007-1423(2016)25-0052-07DOI:10.3969/j.issn.1007-1423.2016.25.012
彭小紅(1968-),女,廣東高州人,碩士研究生,教授,研究方向?yàn)橹悄芸刂萍夹g(shù)及應(yīng)用
鄭瓊璇(1995-),女,廣東汕頭人,本科,學(xué)生,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)
鄧淦輝(1993-),男,廣東東莞人,本科,學(xué)生,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)
林界(1994-),男,廣東揭陽人,本科,學(xué)生,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)
2016-06-21
2016-08-08Design and Implement of the Game Based on HTML5 and JavaScript
廣東海洋大學(xué)2015教學(xué)成果培育項(xiàng)目(No.GDOU2014040638)、廣東海洋大學(xué)重點(diǎn)教改項(xiàng)目(No.XJG201401)、廣東省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(No.CXXL2015024)