第三十四节 制作“数字”

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

当前分数和最高分数对象的基础对象是一个数字,本节我们先制作该对象。



一个分数由6个数字组成,所以我们先创建基本对象的类:数字类。
设计思路:
一个数字类维护7个显示对象,并提供一个公有方法:设置数字,数字区间是0~9,根据不同的数字显示/隐藏不同的显示对象:



下面开始制作“数字”
01.添加类

在脚本文件夹中添加类:Number;打开后删除默认方法,就像这样:

public class Number : MonoBehaviour
{
    
}
02.添加显示对象

在Number类中添加7个显示对象和一个表示当前值的成员变量:

public class Number : MonoBehaviour
{
    public GameObject LeftTop;
    public GameObject LeftBottom;
    public GameObject Top;
    public GameObject Middle;
    public GameObject Bottom;
    public GameObject RightTop;
    public GameObject RightBottom;

    int _number = 0;
}
03.添加设置数字方法
// 设置数字
public void SetNumber(int num)
{
    _number = num <= 9 ? num : 0;
}
04.添加私有刷新方法
// 刷新数字
void RefreshNumber()
{
    // 熄灭所有对象
    LeftTop.SetActive(false);
    LeftBottom.SetActive(false);
    Top.SetActive(false);
    Middle.SetActive(false);
    Bottom.SetActive(false);
    RightTop.SetActive(false);
    RightBottom.SetActive(false);

    // 根据数字点亮不同的对象
    switch (_number)
    {
        case 0:
            LeftTop.SetActive(true);
            LeftBottom.SetActive(true);
            Top.SetActive(true);
            Bottom.SetActive(true);
            RightTop.SetActive(true);
            RightBottom.SetActive(true);
            break;
        case 1:
            RightTop.SetActive(true);
            RightBottom.SetActive(true);
            break;
        case 2:
            LeftBottom.SetActive(true);
            Top.SetActive(true);
            Middle.SetActive(true);
            Bottom.SetActive(true);
            RightTop.SetActive(true);
            break;
    }
}

上面代码只演示了显示1、2、3的代码,具体代码请参考附件。

05.调用刷新数字方法
// 设置数字
public void SetNumber(int num)
{
    _number = num <= 9 ? _number : 0;
    RefreshNumber();
}
06.在场景中创建对象

类创建好之后,在场景中添加空物体,重命名为“Number”,坐标归零。

07.导入资源

将制作数字的图片导入Resources文件夹,然后设置参数:
Pixels Per Unit:1
Pivot:Bottom Left
然后点应用

08.组装“数字”

先将导入的图片添加到空物体“Number”下,然后复制Left与Right,并按以下顺序排列:


重命名图片:

调整坐标(x, y):

LeftTop - (0, 12)
LeftBottom - (0, 1)
Top - (1, 20)
Middle - (1, 10)
Bottom - (1, 0)
RightTop - (6, 12)
RightBottom - (6, 1)

组装后的“数字”如图所示:

09.添加脚本

将之前创建好的Number类拖到场景中的Number对象上,然后将Number下的子对象拖动至Number对象脚本组件对应的公有成员上:


10.制作成预制体

“数字”制作完成了,为方便今后使用,将场景中的Number对象其拖动至Prefabs下以生成预制体:


然后,场景中的Number对象就可以删除了。

“数字”制作完成。

代码链接:https://pan.baidu.com/s/1EeWBJIlUFyKYQ3bQ9ksqTA
提取码:0ham

相关文章

  • 第三十四节 制作“数字”

    当前分数和最高分数对象的基础对象是一个数字,本节我们先制作该对象。 一个分数由6个数字组成,所以我们先创建基本对象...

  • 快速制作工资条技能

    制作数字辅助列 今天和大家分享一种工资条的制作技巧,先来看效果: 下面我们就来说说具体的制作方法。 1、制作数字辅...

  • 2018-01-04

    数字证书原理和制作

  • 第三十四节

    杨庆生坐火车送庆丰去西安报道。晚上九点半发车,第一次坐火车的兄妹两都有些激动。杨庆生羡慕妹妹可以去大城市里念书,那...

  • 风炫安全web安全学习第三十四节课 文件包含漏洞防御

    风炫安全web安全学习第三十四节课 文件包含漏洞防御[https://www.bilibili.com/video...

  • 35/40 灵魂之歌第34节

    35/40•第三十四节 带来稳定性。 第34节全文: Rātīrutī thitī vār. /pavaṉpāṉī...

  • 2020-02-08

    呈贡三台山冰心旧址。 制作数字油画。 数字油画,飞屋环游记。

  • 女.山 167

    第三十五章 美丽女儿部落 第六十四节 遍历如画山水 春天来了,卓伦布和美丽的...

  • 云聪金融交易学习记录八

    第三十九节:江恩数字 (1)3,4是重要的数字;4日法则,4根k线法则(2)7是最重要的数字;7,14,21,28...

  • 有令DApp支持其他数字货币制作纪念币

    有令DApp将于近期上线使用其他数字货币制作纪念币的功能! 为方便广大用户制作数字纪念币,该功能上线后,制...

网友评论

    本文标题:第三十四节 制作“数字”

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