发布时间:2023-11-27 13:17:21 浏览量:112次
如何判断游戏是否通关?通关后如何重新开始游戏,让用户重玩?今天给大家详细介绍如何实现以上功能。先看一下数独游戏通关后的提示界面,截图如下:
首先,我们需要判断游戏是否通关,那么如何判断呢?有两个条件:1、数字面板已经全部填满;2、没有显示数字重复预警。游戏通关的流程如下:用户填入数字后,判断是否通关,如通关,则将计时暂停并将游戏状态改为5(表示通关),绘制场景函数将显示游戏通关及重玩提示对话框,用户点“重玩”按钮后游戏重新初始化。下面先看看通关判断函数的代码:
用户填入数字后,判断是否通关,如通关则更改游戏状态值为5。接下来看看judgeWin()函数的代码
judgeWin()函数判断是否通关,首先判断是否产生数字重复预警,接着判断数字面板是否全部填满,如没有预警且数字已填满则通关,否则未通关。resetGame()函数负责重新初始化数字面板中的固定数字,并重新计时。由于使用了新的游戏状态值5,所以绘制游戏场景的函数代码需要修改,修改后的代码如下:
增加了游戏状态值为5时的处理代码,即显示游戏通关提示及重玩对话框。前面说过,游戏通关时会暂停计时,那么此功能是如何实现的呢?很简单,我们在计时函数中添加判断是否通关的代码,如通关则不计时。没听明白?没关系,看代码:
在计时前,先判断游戏是否通关了,如已通关则返回,不计时;否则,以秒为单位计时(调用timeElapse()时传入的n值为1000,表示1000毫秒)。最后,说一说游戏通关及重玩提示对话框如何实现的,其实此对话框重用了上节课gxsDialog类的代码,只不过使用了不同的资源图片,首先就是游戏通关及重玩对话框的图片(需要修改资源类的待加载资源名称数组),代码如下:
"pass.png"是通关及重玩对话框图片,"replay.png"是正常状态的重玩按钮图片,"replayd.png"是按下状态的重玩按钮图片。接着是通关及重玩对话框、重玩按钮的初始化代码:
var g_oReplay=new gxsButtonUI("replay");//重玩按钮
var g_oWinDialog=new gxsDialog("pass");//游戏通关及重玩对话框
最后,如何实现游戏重新初始化数据及重玩的功能呢?我们可以在重玩按钮的事件响应回调函数中进行处理,这里我把此功能放在它的父类对话框中实现。为了能让按钮类调用对话框类的回调函数,给按钮类添加一个指向父类的成员变量pParent,代码如下:
再给对话框类定义一个调用回调函数的函数,代码如下:
正如你所见,我把回调函数放在控件初始化参数数组中,这样callFCB()与gxsDialog类实际绑定的对象无关。现在,还有一个问题,如何将gxsDialog类对象绑定给gxsButtonUI类?即在什么地方将gxsDialog类对象赋给gxsButtonUI类的pParent成员变量?看代码:
在对话框的draw()函数中将gxsDialog对象实例赋给它的ButtonUI类子控件的pParent成员变量,这样就可以在按钮控件的事件回调函数中通过pParent调用对话框类的事件回调函数。最后,让我们看一看游戏通关及重玩对话框、重玩按钮的参数初始化代码:
关键是g_oReplay.pParent.callFCB();这一行代码,它表示调用重玩按钮的父对话框(游戏通关及重玩对话框)的事件回调函数,下面,看看游戏通关及重玩对话框的初始化参数,代码如下:
最关键的就是g_oGameData.resetGame()这条语句,其作用前面已经说了,重新初始化游戏,让用户重新玩。child:[15]表示子控件为“控件初始化数组中索引为15的控件”——即“重玩”按钮。最后,将今天的内容录了一个视频,文章未提到的地方可以参看视频。
H5数独游戏开发——游戏通关及重玩
未完待续,敬请关注!后续更精彩,谢谢大家!
热门资讯
探讨游戏引擎的文章,介绍了10款游戏引擎及其代表作品,涵盖了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戏设计领域和数字艺术教育的重要性,欢迎点击咨询报名。
游戏中玩家将面临武侠人生的挣扎抉择,战或降?杀或放?每个抉定都将触发更多爱恨纠葛的精彩奇遇。《天命奇御》具有多线剧情多结局,不限主线发展,高自由...
3. B站视频剪辑软件「必剪」:免费、炫酷特效,小白必备工具
B站视频剪辑软件「必剪」,完全免费、一键制作炫酷特效,适合新手小白。快来试试!
4. 手机游戏如何开发(如何制作传奇手游,都需要准备些什么?)
如何制作传奇手游,都需要准备些什么?提到传奇手游相信大家都不陌生,他是许多80、90后的回忆;从起初的端游到现在的手游,说明时代在进步游戏在更新,更趋于方便化移动化。而如果我们想要制作一款传奇手游的
5. 3D动画软件你知道几个?3ds Max、Blender、Maya、Houdini大比拼
当提到3D动画软件或动画工具时,指的是数字内容创建工具。它是用于造型、建模以及绘制3D美术动画的软件程序。但是,在3D动画软件中还包含了其他类型的...
三昧动漫对于著名ARPG游戏《巫师》系列,最近CD Projekt 的高层回应并不会推出《巫师4》。因为《巫师》系列在策划的时候一直定位在“三部曲”的故事框架,所以在游戏的出品上不可能出现《巫师4》
一、声音优化在绝地求生游戏中能够提前听到脚步声往往能提前取得战机,主要有两种方法:1、利用SoundLock软件,软件的功能主要是限制最大音量。百度搜索...
UI设计师、动画设计师、特效设计师每一个职位的功能和负责的方面都不同。所以,3D美术这方面需要大量的人才。但是要成为一个3D游戏建模师,也不是那么...
众所周知,虚幻引擎5(下面简称UE5)特别占用存储空间,仅一个版本安装好的文件就有60G,这还不包括我们在使用时保存的工程文件和随之产生的缓存文件。而...
想让你的3D打印模型更坚固?不妨尝试一下Cura参数设置和设计技巧,让你轻松掌握!
最新文章