亚洲AV免费看深爱成人|日韩av另类一级特黄片在线|中国免费一级黄片|国产av一二三区|亚洲有码AV在线|久久亚洲国产日韩欧美|成人免费AV网站|婷婷一区综合一区|亚洲AV无码导航|高级欧美成人网站

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

h5 小游戲開發(fā)(H5數(shù)獨(dú)游戲開發(fā))

發(fā)布時(shí)間:2023-11-27 13:17:21 瀏覽量:119次

?H5數(shù)獨(dú)游戲開發(fā)

h5 小游戲開發(fā)(H5數(shù)獨(dú)游戲開發(fā))

  如何判斷游戲是否通關(guān)?通關(guān)后如何重新開始游戲,讓用戶重玩?今天給大家詳細(xì)介紹如何實(shí)現(xiàn)以上功能。先看一下數(shù)獨(dú)游戲通關(guān)后的提示界面,截圖如下:

  首先,我們需要判斷游戲是否通關(guān),那么如何判斷呢?有兩個(gè)條件:1、數(shù)字面板已經(jīng)全部填滿;2、沒有顯示數(shù)字重復(fù)預(yù)警。游戲通關(guān)的流程如下:用戶填入數(shù)字后,判斷是否通關(guān),如通關(guān),則將計(jì)時(shí)暫停并將游戲狀態(tài)改為5(表示通關(guān)),繪制場景函數(shù)將顯示游戲通關(guān)及重玩提示對話框,用戶點(diǎn)“重玩”按鈕后游戲重新初始化。下面先看看通關(guān)判斷函數(shù)的代碼:

  用戶填入數(shù)字后,判斷是否通關(guān),如通關(guān)則更改游戲狀態(tài)值為5。接下來看看judgeWin()函數(shù)的代碼

  judgeWin()函數(shù)判斷是否通關(guān),首先判斷是否產(chǎn)生數(shù)字重復(fù)預(yù)警,接著判斷數(shù)字面板是否全部填滿,如沒有預(yù)警且數(shù)字已填滿則通關(guān),否則未通關(guān)。resetGame()函數(shù)負(fù)責(zé)重新初始化數(shù)字面板中的固定數(shù)字,并重新計(jì)時(shí)。由于使用了新的游戲狀態(tài)值5,所以繪制游戲場景的函數(shù)代碼需要修改,修改后的代碼如下:

  增加了游戲狀態(tài)值為5時(shí)的處理代碼,即顯示游戲通關(guān)提示及重玩對話框。前面說過,游戲通關(guān)時(shí)會暫停計(jì)時(shí),那么此功能是如何實(shí)現(xiàn)的呢?很簡單,我們在計(jì)時(shí)函數(shù)中添加判斷是否通關(guān)的代碼,如通關(guān)則不計(jì)時(shí)。沒聽明白?沒關(guān)系,看代碼:

  在計(jì)時(shí)前,先判斷游戲是否通關(guān)了,如已通關(guān)則返回,不計(jì)時(shí);否則,以秒為單位計(jì)時(shí)(調(diào)用timeElapse()時(shí)傳入的n值為1000,表示1000毫秒)。最后,說一說游戲通關(guān)及重玩提示對話框如何實(shí)現(xiàn)的,其實(shí)此對話框重用了上節(jié)課gxsDialog類的代碼,只不過使用了不同的資源圖片,首先就是游戲通關(guān)及重玩對話框的圖片(需要修改資源類的待加載資源名稱數(shù)組),代碼如下:

  "pass.png"是通關(guān)及重玩對話框圖片,"replay.png"是正常狀態(tài)的重玩按鈕圖片,"replayd.png"是按下狀態(tài)的重玩按鈕圖片。接著是通關(guān)及重玩對話框、重玩按鈕的初始化代碼:

var g_oReplay=new gxsButtonUI("replay");//重玩按鈕

var g_oWinDialog=new gxsDialog("pass");//游戲通關(guān)及重玩對話框

  最后,如何實(shí)現(xiàn)游戲重新初始化數(shù)據(jù)及重玩的功能呢?我們可以在重玩按鈕的事件響應(yīng)回調(diào)函數(shù)中進(jìn)行處理,這里我把此功能放在它的父類對話框中實(shí)現(xiàn)。為了能讓按鈕類調(diào)用對話框類的回調(diào)函數(shù),給按鈕類添加一個(gè)指向父類的成員變量pParent,代碼如下:

  再給對話框類定義一個(gè)調(diào)用回調(diào)函數(shù)的函數(shù),代碼如下:

  正如你所見,我把回調(diào)函數(shù)放在控件初始化參數(shù)數(shù)組中,這樣callFCB()與gxsDialog類實(shí)際綁定的對象無關(guān)?,F(xiàn)在,還有一個(gè)問題,如何將gxsDialog類對象綁定給gxsButtonUI類?即在什么地方將gxsDialog類對象賦給gxsButtonUI類的pParent成員變量?看代碼:

  在對話框的draw()函數(shù)中將gxsDialog對象實(shí)例賦給它的ButtonUI類子控件的pParent成員變量,這樣就可以在按鈕控件的事件回調(diào)函數(shù)中通過pParent調(diào)用對話框類的事件回調(diào)函數(shù)。最后,讓我們看一看游戲通關(guān)及重玩對話框、重玩按鈕的參數(shù)初始化代碼:

  關(guān)鍵是g_oReplay.pParent.callFCB();這一行代碼,它表示調(diào)用重玩按鈕的父對話框(游戲通關(guān)及重玩對話框)的事件回調(diào)函數(shù),下面,看看游戲通關(guān)及重玩對話框的初始化參數(shù),代碼如下:

  最關(guān)鍵的就是g_oGameData.resetGame()這條語句,其作用前面已經(jīng)說了,重新初始化游戲,讓用戶重新玩。child:[15]表示子控件為“控件初始化數(shù)組中索引為15的控件”——即“重玩”按鈕。最后,將今天的內(nèi)容錄了一個(gè)視頻,文章未提到的地方可以參看視頻。

h5 小游戲開發(fā)(H5數(shù)獨(dú)游戲開發(fā))

H5數(shù)獨(dú)游戲開發(fā)——游戲通關(guān)及重玩

  未完待續(xù),敬請關(guān)注!后續(xù)更精彩,謝謝大家!

h5 小游戲開發(fā)(H5數(shù)獨(dú)游戲開發(fā))

熱門課程推薦

熱門資訊

請綁定手機(jī)號

x

同學(xué)您好!

您已成功報(bào)名0元試學(xué)活動,老師會在第一時(shí)間與您取得聯(lián)系,請保持電話暢通!
確定