第四十节 暂停游戏

作者: 安静的程序员 | 来源:发表于2019-06-26 07:19 被阅读0次

本节,我们先实现暂停功能,再制作场景中的暂停对象。

功能非常简单,添加一个暂停标记,然后在键盘事件、核心逻辑、消除方块中添加一个判断即可。

01.暂停标记
bool _paused = false;               // 记录是否已暂停
02.添加判断
// 游戏核心逻辑
void GameCore()
{
    if (_paused) return;
...

// 消除一个点
void ClearOnePoint()
{
    if (_paused) return;
...

// 填补一行被消除的
void FillUpOneLineByCleared()
{
    if (_paused) return;
...

旋转方块、左移方块、右移方块中也添加判断。请参考附件的代码。

03.实现暂停、继续

添加一个空格键的事件:

// 按键 - 空格键
if (Input.GetKeyDown(KeyCode.Space))
{
    _paused = !_paused;
}
04.制作暂停标记

在场景中添加一个空物体,重命名为PauseHint,坐标(196, 30, 0)。
然后导入图片,拖放到PauseHint下:


记得设置图片的属性:
Pixels Per Unit:1
Pivot:Bottom Left

然后设置PauseHint默认为不激活(隐藏)。

暂停标记没有任何行为,所以不需要添加代码,直接拖动到导演对象的Pause Hint Obj上即可:


05.闪烁暂停标记

在导演类添加方法:

// 闪烁暂停提示
void BlinkPauseHint()
{
    PauseHintObj.SetActive(!PauseHintObj.activeSelf);
}

修改空格按键事件:

// 按键 - 空格键
if (Input.GetKeyDown(KeyCode.Space))
{
    _paused = !_paused;

    if (_paused)
    {
        InvokeRepeating("BlinkPauseHint", 0, 0.2f);
    }
    else
    {
        CancelInvoke("BlinkPauseHint");
        PauseHintObj.SetActive(false);
    }
}

那么,暂停游戏功能就完成了。

代码链接:https://pan.baidu.com/s/1H9_s0TrQWsJCZ8f8bjsvGg
提取码:xxvp

相关文章

  • 第四十节 暂停游戏

    本节,我们先实现暂停功能,再制作场景中的暂停对象。 功能非常简单,添加一个暂停标记,然后在键盘事件、核心逻辑、消除...

  • 女.山 191

    第四十章 安然猎鹰 第七十节 奉还灵物 猎...

  • 第四十节

    最终邝世材决定回老家实习。离开的前一晚,像所有惜别的恋人一样,他们彻夜未眠。邝世材骑着他那辆骑了四年的单车带着杨庆...

  • 【求道 悟道 传道】读《你就是孩子最好的玩具》(六十一)

    巧妙运用游戏暂停法 游戏被暂停的情况时有发生,比如当父母和孩子玩亲子游戏的时候,会因为一个电话而被打搅,如果孩子不...

  • 暂停与重启

    在手机游戏当中,会碰到“强制暂停”,如:锁屏、接电话或短信之类的。如果“强制暂停”时间过长,网络游戏有时得重新登录...

  • 日更24

    网络突然断了,喜欢看的电视剧暂停欣赏。 一直想要做龙猫计划的第四道题目。 却因为玩游戏或者各种借口,拖到现在,还没...

  • 一些读书摘录:《游戏力》(7)

    第七章,暂停现实,置换角色 孩子们需要很多游戏,来置换角色,暂停现实,让他们拥有主导权。但是,如果对孩子的游戏完全...

  • 风炫安全Web安全学习第四十节课 反序列化漏洞攻击利用演示

    风炫安全Web安全学习第四十节课 反序列化漏洞攻击利用演示[https://www.bilibili.com/vi...

  • 第四十节 莫斯科餐厅

    中国人境外购物扫街一般的疯狂,外国人早有耳闻,诸多柜台都专门配备了中文服务员,反正中国留学生多的是,大家也都习惯了...

  • C#

    说明: 枚举类型的用处: 在游戏中我们可以定义一个int类型来存储状态 0 游戏暂停 1 游戏失败 2 游戏开始 ...

网友评论

    本文标题:第四十节 暂停游戏

    本文链接:https://www.haomeiwen.com/subject/pdqqcctx.html