发布时间: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等引擎。借此分析引出了游戏设计领域和数字艺术教育的重要性,欢迎点击咨询报名。
2. 手机游戏如何开发(如何制作传奇手游,都需要准备些什么?)
如何制作传奇手游,都需要准备些什么?提到传奇手游相信大家都不陌生,他是许多80、90后的回忆;从起初的端游到现在的手游,说明时代在进步游戏在更新,更趋于方便化移动化。而如果我们想要制作一款传奇手游的
3. B站视频剪辑软件「必剪」:免费、炫酷特效,小白必备工具
B站视频剪辑软件「必剪」,完全免费、一键制作炫酷特效,适合新手小白。快来试试!
游戏中玩家将面临武侠人生的挣扎抉择,战或降?杀或放?每个抉定都将触发更多爱恨纠葛的精彩奇遇。《天命奇御》具有多线剧情多结局,不限主线发展,高自由...
5. Bigtime加密游戏经济体系揭秘,不同玩家角色的经济活动
Bigtime加密游戏经济模型分析,探讨游戏经济特点,帮助玩家更全面了解这款GameFi产品。
6. 3D动漫建模全过程,不是一般人能学的会的,会的多不是人?
步骤01:面部,颈部,身体在一起这次我不准备设计图片,我从雕刻进入。这一次,它将是一种纯粹关注建模而非整体绘画的形式。像往常一样,我从Sphere创建它...
7. 3D动画软件你知道几个?3ds Max、Blender、Maya、Houdini大比拼
当提到3D动画软件或动画工具时,指的是数字内容创建工具。它是用于造型、建模以及绘制3D美术动画的软件程序。但是,在3D动画软件中还包含了其他类型的...
8. 如何自己开发一款游戏(游戏开发入门必看:五大独立游戏开发技巧)
游戏开发入门必看:五大独立游戏开发技巧无论您是刚刚起步开发自己的第一款游戏,还是已经制作了几款游戏,本篇文章中的5大独立游戏开发技巧都可以帮助您更好地设计下一款游戏。无论你对游戏有着什么样的概念,都
想让你的3D打印模型更坚固?不妨尝试一下Cura参数设置和设计技巧,让你轻松掌握!
三昧动漫对于著名ARPG游戏《巫师》系列,最近CD Projekt 的高层回应并不会推出《巫师4》。因为《巫师》系列在策划的时候一直定位在“三部曲”的故事框架,所以在游戏的出品上不可能出现《巫师4》
同学您好!