数独游戏开发——计时器实现
  nNb480ZtZ6r0 2023年11月02日 49 0

  设想一下,你正在玩一款RPG游戏,在河中被BOSS追杀,还有2分钟BOSS就追上你,屏幕显示倒计时,你必须拼尽全力在2分钟内游到岸上……好了,让我们回到现实中来,如何实现计时效果呢?我来给大家详细介绍。

  首先我们定义一个计时器类gxsTimer,用于游戏中的计时操作,代码如下:

数独游戏开发——计时器实现_H5数独游戏开发

  isTimeOut()成员函数用来判断上次计时开始时段到现在是否超出指定的时间间隔,如超出则返回true,否则返回false;

  我们应该在什么地方调用计时器的init()成员函数呢?答案是在g_oGameObj对象的initGame()成员函数中,代码如下:

数独游戏开发——计时器实现_H5数独游戏开发_02

  现在我们要实现计时效果,就需要不停地调用g_oTimer对象的timeElapse()成员函数,代码如下:

数独游戏开发——计时器实现_H5数独游戏开发_03

  在哪里调用这个成员函数呢?很明显是在一个反复执行的函数内调用,g_oGameObj对象的drawScene()成员函数是个不错的选择,代码如下:

数独游戏开发——计时器实现_H5数独游戏开发_04

  计时器已经实现了,那么我们如何将时间数字显示出来呢?还记不记得我们的gxsSprite类?我们可以用它的一个派生类gxsTimeSprite来实现,看代码

数独游戏开发——计时器实现_H5数独游戏开发_05

  再来看一看draw()函数代码

数独游戏开发——计时器实现_H5数独游戏开发_06

  我们用一个变量st保存要绘制的时间数字图片名,实际只保存了后一位,在显示将通过代码在它前面添加字符"c",以计时时间12:23分例,st中保存的结果为“12a23”,显示时,首先显示一个闹钟图标,再依次显示每一个数字。最后还要修改g_aSpritePara变量,添加g_oTimerSprite对象,让时间图片精灵对象初始化,代码如下:

数独游戏开发——计时器实现_H5数独游戏开发_07      最后将今天讲的内容录了视频,文章中没有讲到的地方大家可以看视频。

​数独游戏开发——计时器实现​

  未完待续,敬请关注!后续更精彩,谢谢大家!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

nNb480ZtZ6r0