發(fā)布時(shí)間:2023-11-27 13:17:21 瀏覽量:112次
如何判斷游戲是否通關(guān)?通關(guān)后如何重新開(kāi)始游戲,讓用戶重玩?今天給大家詳細(xì)介紹如何實(shí)現(xiàn)以上功能。先看一下數(shù)獨(dú)游戲通關(guān)后的提示界面,截圖如下:
首先,我們需要判斷游戲是否通關(guān),那么如何判斷呢?有兩個(gè)條件:1、數(shù)字面板已經(jīng)全部填滿;2、沒(méi)有顯示數(shù)字重復(fù)預(yù)警。游戲通關(guān)的流程如下:用戶填入數(shù)字后,判斷是否通關(guān),如通關(guān),則將計(jì)時(shí)暫停并將游戲狀態(tài)改為5(表示通關(guān)),繪制場(chǎng)景函數(shù)將顯示游戲通關(guān)及重玩提示對(duì)話框,用戶點(diǎn)“重玩”按鈕后游戲重新初始化。下面先看看通關(guān)判斷函數(shù)的代碼:
用戶填入數(shù)字后,判斷是否通關(guān),如通關(guān)則更改游戲狀態(tài)值為5。接下來(lái)看看judgeWin()函數(shù)的代碼
judgeWin()函數(shù)判斷是否通關(guān),首先判斷是否產(chǎn)生數(shù)字重復(fù)預(yù)警,接著判斷數(shù)字面板是否全部填滿,如沒(méi)有預(yù)警且數(shù)字已填滿則通關(guān),否則未通關(guān)。resetGame()函數(shù)負(fù)責(zé)重新初始化數(shù)字面板中的固定數(shù)字,并重新計(jì)時(shí)。由于使用了新的游戲狀態(tài)值5,所以繪制游戲場(chǎng)景的函數(shù)代碼需要修改,修改后的代碼如下:
增加了游戲狀態(tài)值為5時(shí)的處理代碼,即顯示游戲通關(guān)提示及重玩對(duì)話框。前面說(shuō)過(guò),游戲通關(guān)時(shí)會(huì)暫停計(jì)時(shí),那么此功能是如何實(shí)現(xiàn)的呢?很簡(jiǎn)單,我們?cè)谟?jì)時(shí)函數(shù)中添加判斷是否通關(guān)的代碼,如通關(guān)則不計(jì)時(shí)。沒(méi)聽(tīng)明白?沒(méi)關(guān)系,看代碼:
在計(jì)時(shí)前,先判斷游戲是否通關(guān)了,如已通關(guān)則返回,不計(jì)時(shí);否則,以秒為單位計(jì)時(shí)(調(diào)用timeElapse()時(shí)傳入的n值為1000,表示1000毫秒)。最后,說(shuō)一說(shuō)游戲通關(guān)及重玩提示對(duì)話框如何實(shí)現(xiàn)的,其實(shí)此對(duì)話框重用了上節(jié)課gxsDialog類的代碼,只不過(guò)使用了不同的資源圖片,首先就是游戲通關(guān)及重玩對(duì)話框的圖片(需要修改資源類的待加載資源名稱數(shù)組),代碼如下:
"pass.png"是通關(guān)及重玩對(duì)話框圖片,"replay.png"是正常狀態(tài)的重玩按鈕圖片,"replayd.png"是按下?tīng)顟B(tài)的重玩按鈕圖片。接著是通關(guān)及重玩對(duì)話框、重玩按鈕的初始化代碼:
var g_oReplay=new gxsButtonUI("replay");//重玩按鈕
var g_oWinDialog=new gxsDialog("pass");//游戲通關(guān)及重玩對(duì)話框
最后,如何實(shí)現(xiàn)游戲重新初始化數(shù)據(jù)及重玩的功能呢?我們可以在重玩按鈕的事件響應(yīng)回調(diào)函數(shù)中進(jìn)行處理,這里我把此功能放在它的父類對(duì)話框中實(shí)現(xiàn)。為了能讓按鈕類調(diào)用對(duì)話框類的回調(diào)函數(shù),給按鈕類添加一個(gè)指向父類的成員變量pParent,代碼如下:
再給對(duì)話框類定義一個(gè)調(diào)用回調(diào)函數(shù)的函數(shù),代碼如下:
正如你所見(jiàn),我把回調(diào)函數(shù)放在控件初始化參數(shù)數(shù)組中,這樣callFCB()與gxsDialog類實(shí)際綁定的對(duì)象無(wú)關(guān)?,F(xiàn)在,還有一個(gè)問(wèn)題,如何將gxsDialog類對(duì)象綁定給gxsButtonUI類?即在什么地方將gxsDialog類對(duì)象賦給gxsButtonUI類的pParent成員變量?看代碼:
在對(duì)話框的draw()函數(shù)中將gxsDialog對(duì)象實(shí)例賦給它的ButtonUI類子控件的pParent成員變量,這樣就可以在按鈕控件的事件回調(diào)函數(shù)中通過(guò)pParent調(diào)用對(duì)話框類的事件回調(diào)函數(shù)。最后,讓我們看一看游戲通關(guān)及重玩對(duì)話框、重玩按鈕的參數(shù)初始化代碼:
關(guān)鍵是g_oReplay.pParent.callFCB();這一行代碼,它表示調(diào)用重玩按鈕的父對(duì)話框(游戲通關(guān)及重玩對(duì)話框)的事件回調(diào)函數(shù),下面,看看游戲通關(guān)及重玩對(duì)話框的初始化參數(shù),代碼如下:
最關(guān)鍵的就是g_oGameData.resetGame()這條語(yǔ)句,其作用前面已經(jīng)說(shuō)了,重新初始化游戲,讓用戶重新玩。child:[15]表示子控件為“控件初始化數(shù)組中索引為15的控件”——即“重玩”按鈕。最后,將今天的內(nèi)容錄了一個(gè)視頻,文章未提到的地方可以參看視頻。
H5數(shù)獨(dú)游戲開(kāi)發(fā)——游戲通關(guān)及重玩
未完待續(xù),敬請(qǐng)關(guān)注!后續(xù)更精彩,謝謝大家!
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計(jì)領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點(diǎn)擊咨詢報(bào)名。
2. 手機(jī)游戲如何開(kāi)發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說(shuō)明時(shí)代在進(jìn)步游戲在更新,更趨于方便化移動(dòng)化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費(fèi)、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費(fèi)、一鍵制作炫酷特效,適合新手小白。快來(lái)試試!
4. Steam值得入手的武俠游戲盤點(diǎn),各具特色的快意江湖
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個(gè)抉定都將觸發(fā)更多愛(ài)恨糾葛的精彩奇遇?!短烀嬗肪哂卸嗑€劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動(dòng)
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點(diǎn),幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動(dòng)漫建模全過(guò)程,不是一般人能學(xué)的會(huì)的,會(huì)的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計(jì)圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫(huà)的形式。像往常一樣,我從Sphere創(chuàng)建它...
7. 3D動(dòng)畫(huà)軟件你知道幾個(gè)?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動(dòng)畫(huà)軟件或動(dòng)畫(huà)工具時(shí),指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動(dòng)畫(huà)的軟件程序。但是,在3D動(dòng)畫(huà)軟件中還包含了其他類型的...
8. 開(kāi)發(fā)三昧游戲叫什么(三昧動(dòng)漫)
?三昧動(dòng)漫對(duì)于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會(huì)推出《巫師4》。因?yàn)椤段讕煛废盗性诓邉澋臅r(shí)候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
9. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅(jiān)固
想讓你的3D打印模型更堅(jiān)固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計(jì)技巧,讓你輕松掌握!
10. Unity3D入門:手把手帶你開(kāi)發(fā)一款坦克大戰(zhàn)的游戲
Unity工程創(chuàng)建完成后如圖所示: 接下來(lái)應(yīng)該導(dǎo)入此項(xiàng)目所需的Unity Package文件,要用到的Unity package文件大家可以去Unity3D的官方網(wǎng)站下載(地址:ht...
最新文章
同學(xué)您好!