凉鞋的 Unity 笔记 203. 变量的常用类型

news2024/12/27 12:56:50

203. 变量的常用类型

在上一篇,我们对变量进行了概述和简介,知识地图如下:

image-20231003164039775

我们已经接触了变量的字符串类型,以及一些功能。

在这一篇,我们尝试多接触一些变量的类型。

首先是整数类型。

整数类型

整数类型一般是 int 类型,我们来看下如何使用,代码如下:

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 = 5;
        
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint);

        textToPrint = 0;
        
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
        print(textToPrint); 
    }

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

运行之后,结果如下:

image-20231005132807363

我们当然也可以指定整个变量为 int 类型,代码如下:

int textToPrint = 5;

整数类型(一般叫整型),在游戏开发中使用的频率非常高,比如角色的等级、经验值、金币都是使用整型进行记录和存储。

实数类型

实数类型就是带有小数点的类型,比如 0.1,0.0,5.5 都是实数类型。

在 C# 有两种类型,一种是比较常用的 float,另一种是精度比较高的 double。

我们写一些代码测试一下,如下:

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 = 0.1f; // float 类型
        
        print(textToPrint); 
        
        textToPrint = 0; // 可以接收 int 类型
        
        print(textToPrint);

        var textToPrint2 = 0.1; // double 类型
        
        print(textToPrint2);

        textToPrint2 = 1; // 同样可以接收 int 类型
        
        print(textToPrint2);
    }

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

运行之后,结果如下:

image-20231005133610007

float 类型在游戏开发中使用的频率也非常高,比如角色的血量条、一些数值、比如暴击率,都是 float 类型的。

float/double 同样可以指定类型,代码如下:

float textToPrint = 0.1f;
double textToPrint2 = 0.1;

逻辑真假类型

逻辑真假类型叫做布尔类型(bool 类型或 boolean 类型)。

布尔类型只有两个值,true 或 false,即真和假。

我们先写代码测试下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstGameObject : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        bool textToPrint = true;
        
        print(textToPrint); 
        
        textToPrint = false;
        
        print(textToPrint);
    }

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

运行之后结果如下:

image-20231005134054457

虽然 bool 变量只能存储 true 和 false,但是 bool 变量的使用频率不输 int 和 float。

这是因为 bool 变量常常与程序语言中的条件判断结合使用。

自定义类型

我们还剩下自定义类型,自定义类型其实有点复杂。

自定义类型有枚举、类、结构体、委托等,每一个都可以花一整个篇幅介绍,所以这部分后续再介绍。

好了到此变量的三种使用频率非常高的类型就介绍完了。

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

知识地图

image-20231005134432053

更多内容

更新期间半价,保持 60% 的内容免费更新到此平台
版权所有 GamePix 独立游戏学院
转载请注明凉鞋的笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1116740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣第51题 N 皇后 c++ 难~ 回溯题

题目 51. N 皇后 困难 相关标签 数组 回溯 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0…

ChessGPT:免费好用的国际象棋对弈AI机器人

对于国际象棋初学者,需要找一个对手来练棋。ChessGPT,就是一个免费好用的AI对弈机器人,非常适合新手来提升,是一个很好的练习伙伴。网站地址是:https://www.chess.com/play/computer,也有手机版app&#xf…

Deep Learning for Geophysics综述阅读(未完)

文章题目《Deep Learning for Geophysics: Current and Future Trends》 文章解读:地球物理学(人工智能轨道)——(1)文献翻译《面向地球物理学的深度学习:当前与未来趋势》 - 知乎 (zhihu.com) 这里主要列…

运筹学:影子价格(shadow price)和对偶价格(dual price)

文章目录 对偶问题的解影子价格对偶价格对偶价格与影子价格的关系总结例题 对偶问题的解 影子价格 影子价格是一个经济学意义上的解释,因为不同的解读,目前对于影子价格准确的定义较为混乱。下面下来举几个例子: the shadow price associat…

【代码随想录第46天】 动态规划6

代码随想录第46天| 动态规划6 完全背包518. 零钱兑换 II377. 组合总和 Ⅳ 完全背包 代码随想录:完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包…

解决Win10系统按 Win+L 键不能锁屏的问题

一、问题现象: 1、使用”WinL“快捷键无效; 2、系统设置 》电源与睡眠 》其他电源设置 》选择电源按钮的功能中,锁定选项未选中且不可选,且点击“更改当前不可用的设置”后仍然不可选。 3、用户操作选项中无”锁定“按钮&#…

通过TDE透明加密实现服务器防勒索 安当加密

安当TDE透明加密技术主要应用于对数据库中的数据执行实时加解密的应用场景,特别是在对数据加密有较高要求,以及希望加密后数据库性能影响几乎可以忽略的场景中。 安当TDE透明加密技术的防勒索应用场景可以通过以下步骤进行介绍: 数据保护&am…

淘宝商品详情API接口(标题|主图|SKU|价格|销量|库存..)

一、应用场景 淘宝商品详情接口的应用场景非常广泛,以下是其中几个例子: 商家用于展示商品信息:淘宝详情接口可以被用于商家的自主店铺或第三方电商平台上,方便展示商品详细信息。 商品价格比对:淘宝详情接口可以用于…

编程教室本周视频更新

入门教程、案例源码、学习资料、读者群 请访问: python666.cn 大家好,欢迎来到 Crossin的编程教室 ! 以下是近期制作的一些编程教学视频,欢迎观看、点赞、收藏、转发。 0.10.2竟然不等于0.3?! Python中的小数比较是否相等时的一个…

Ruo-Yi前后端分离相关笔记

1.前提条件和基础 Spring Boot Vue 环境要求:Jdk1.8以上版本、MySql数据库、Redis、Maven、Vue 2.使用若依 官网地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分…

获得Pareto前沿的方法有什么?NSGA-Ⅱ怎么获得Pareto非支配解集 + 支配解集?怎么获得Pareto前沿?/非支配解集代码实现

获得Pareto前沿的方法有什么? 获得Pareto前沿的方法有很多,下面列举了一些常用的方法: 权重法(Weighted Sum Method):为每个目标函数分配一个权重,并将多目标优化问题转化为单目标优化问题。通…

订单30分钟自动关闭的五种解决方案

1 前言 在开发中,往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信 对上述的任务,我们给一个专业的名字来形容,那就是延时任务 。那么这里就会产生一个问题,这…

ElementPlus表格中的背景透明

ElementPlus表格中的背景透明 最近写大屏,用到elementplus中的el-table,为了让显示效果好看一点,需要把表格的白色背景调整为透明,与整个背景融为一体。可以参考的资料非常少,大部分都是ElmentUI的方法,在…

摆动序列【贪心4】

题目 分析 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {if(nums.size() < 2) return nums.size();int ret 0,left 0,right 0;for(int i 0;i < nums.size()-1;i){right nums[i1] - nums[i];if(right 0) continue;if(left …

Python数据分析实战-使用replace方法模糊匹配替换某列的值(附源码和实现效果)

实现功能 Python数据分析实战-使用replace方法模糊匹配替换某列的值 实现代码 import pandas as pd import re# 创建一个示例DataFrame data {A: [apple, banana, pineapple, orange, grape]} df pd.DataFrame(data)# 打印替换前的DataFrame print("替换前的DataFram…

5年经验之谈 —— 接口测试主要测哪些方面?

当今互联网时代&#xff0c;接口测试已经成为软件测试的一个重要组成部分。接口测试是指对系统各个接口进行验证&#xff0c;确保接口的正确性、稳定性和安全性。接口测试是软件开发过程中不可缺少的环节&#xff0c;它旨在确保接口能够正常工作&#xff0c;并且满足所需要的规…

OpenSSL 密码库实现证书签发流程详解

目录 0. 基础理论openssl简介对称加密和非对称加密生成证书流程原理CA签发流程openssl基础操作 1. 生成证书的步骤与原理2. 标准的CA签发流程2.1 创建私钥&#xff08;.key)2.2 基于私钥创建证书签名请求&#xff08;.csr&#xff09;2.3 &#xff08;可选&#xff09;直接同时…

三角形绘制

图形渲染管线的每个阶段的抽象展示 蓝色部分代表的是我们可以注入自定义的着色器的部分。现代OpenGL中&#xff0c;我们必须定义至少一个顶点着色器和一个片段着色器&#xff08;因为GPU中没有默认的顶点/片段着色器&#xff09;。 顶点输入 OpenGL是一个3D图形库&#xff0c…

智能化档案管理系统,利用超高频RFID技术提升档案管理效能

随着机关事业单位的发展&#xff0c;各种信息档案材料的数量不断增加&#xff0c;档案的类型也越来越多样化&#xff0c;传统的纸质储存方式已经无法满足现实需求。传统的档案管理方式存在一些问题&#xff0c;例如手工制作管理方法效率低下、档案储放顺序容易打乱、档案审查和…

ArmSoM-W3之RK3588硬编解码MPP环境配置

1. 简介 瑞芯微提供的媒体处理软件平台&#xff08;Media Process Platform&#xff0c;简称 MPP&#xff09;是适用于瑞芯微芯片系列的 通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理&#xff0c;其目的是为了屏蔽不 同芯片的差异&#xff0c;为使用者…