凉鞋的 Unity 笔记 201. 第三轮循环:引入变量

201. 第三轮循环:引入变量

在这一篇,我们进行第三轮 编辑-测试 循环。

在之前我们编写了 输出 Hello Unity 的脚本,如下:

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstGameObject : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        print("Hello Unity"); // +
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

如果我们要输出 10 次 Hello Unity 该怎么办呢?

答案很简单,就是复制十行 print("Hello Unity"),代码如下:

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstGameObject : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
        print("Hello Unity"); 
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

这样当我们运行场景后,结果如下:

总共输出了十次 Hello Unity。

此时我突然想要把输出十次 Hello Unity 改成输出十次 Hello C#。

那么最简单的方式,就是直接修改代码,如下:

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstGameObject : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
        print("Hello C#"); 
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

运行之后,结果如下:

但是这样太不优雅了,我们需要复制粘贴十次,如果我们有 100 个甚至 1000 个 Hello Unity,那么我们可能需要复制粘贴很多次,或者使用代码编辑器所提供的查找/替换功能完成。

比较优雅的方式就是引入一个变量,代码如下所示:

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstGameObject : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        var textToPrint = "Hello C#";
        
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint);
        
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

这样当我们想要输出十次 Hello World 那么我们只需要修改变量的值即可,如下所示:

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstGameObject : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        var textToPrint = "Hello World";
        
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint);
        
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

这样非常优雅。

我们在代码中新引入的 textToPrint 叫做变量。

变量可以存储一个值,然后再接下来可以通过这个变量来代替具体的值。

比如 textToPrint 是 "Hello World",那么接下来的每一句 print(textToPrint) 其实都是 print("Hello World")。

变量给编程带来了巨大的便利。

当然,变量是每一个程序语言都有的,而每一个游戏引擎不管是提供专业脚本支持还是可视化脚本支持都会提供变量的使用,所以变量也是通识部分的内容,再接下来的篇幅里,笔者会好好介绍变量,以及 C# 中的变量使用。

这一篇内容就这些,我们下一篇再见,拜拜。

知识地图

转载请注明 凉鞋的笔记

相关推荐
摇滚侠15 分钟前
Vue 项目实战《尚医通》,完成确定挂号业务,笔记46
java·开发语言·javascript·vue.js·笔记
摇滚侠22 分钟前
Vue 项目实战《尚医通》,完成取消预约业务,笔记49
vue.js·笔记
Just right24 分钟前
AndroidApp笔记环境配置
笔记
xinxingrs42 分钟前
贪心算法、动态规划以及相关应用(python)
笔记·python·学习·算法·贪心算法·动态规划
四谎真好看2 小时前
Java 黑马程序员学习笔记(进阶篇28)
java·笔记·学习·学习笔记
Oll Correct2 小时前
Excel基础操作(二)
笔记·excel
hd51cc2 小时前
文档与视图 学习笔记
笔记·学习
毛甘木4 小时前
Unity MonoPInvokeCallback 使用教程
c++·unity
chenzhou__5 小时前
LinuxC语言并发程序笔记(第二十天)
linux·c语言·笔记·学习
心疼你的一切5 小时前
Unity开发Rokid应用之离线语音指令交互模型
android·开发语言·unity·游戏引擎·交互·lucene