百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

写给大家看的学习笔记04:了解Switch语句

yuyutoo 2024-12-01 06:11 5 浏览 0 评论

上一个学习笔记,我们学习了在Unity中使用If语句,If语句就是“如果……(达到什么样的条件),那么……(就可以做什么)”的使用。

同时我们通过2个小例子来进一步认识了If语句的使用。

其中有一个例子是学业评分,我们简单回顾一下,就是五门学科的平均分,我们分为了A、B、C、D、F五个学业评分。

我们通过写多个If语句的方式来完成对多个条件情况的判断,如下所示:

if(average >=90)
{
  Debug.Log("学业评分是A");
}
else if(average >=80 && average <90)
{
  Debug.Log("学业评分是B");
}
else if(average >=70 && average <80)
{
  Debug.Log("学业评分是C");
}
else if(average >=60 && average <80)
{
  Debug.Log("学业评分是D");
}
else 
{
  Debug.Log("学业评分是F");
}

我们会发现这样用else if写的内容会很长,在这样多条件情况的状态下,在C语言中可以使用Switch语句。

Switch语句就像是一颗树枝的分叉,水分进入到这颗树枝时,随着分叉进入不同的小树枝里。

它是这样表达的:

Switch(条件)
{
  case 条件的情况1:
    情况1要做的事情;
    break;
  case 条件的情况2:
    情况2要做的事情;
    break;
  case 条件的情况3:
    情况3要做的事情;
    break;
}

现在,我们把学业评分的情况带入到这个Switch表达的结构里:

switch(average)
{
  case >=90:
    Debug.Log("学业评分是A");
    break;
  case >=80:
    Debug.Log("学业评分是B");
    break;
  case >=70:
    Debug.Log("学业评分是C");
    break;
  case >=60:
    Debug.Log("学业评分是D");
    break;
  default:
    Debug.Log("学业评分是F");
    break;
}

然后我们把内容放到代码编辑器里面,就像这样:

在unity中运行后,我们可以看到学业评分的结果,如图所示:


好啦,第一个例子结束啦。接着我们来看一个例子,进一步了解Switch的使用。

假设有一个球体,我们按A的时候,就让这个球变成红色,按B的时候,让这个球变成黄色,按C的时候,让这个球变成蓝色。

我们需要设定一个球的变量用来放球体对象。当按键的时候,颜色会变化,所以还需要一个存放球颜色的变量空间。

当按下A键时,球颜色的变量拥有一个值,这个值(例如设置值为0)就对应红色。

接着switch的分支识别到这个值时,就对指定球体对象的颜色设置为红色。

我们这样来写这个内容:

public GameObject sphere;
private int ball_color;

if(按下A键)
{
  ball_color变量值设置为0;
}

if(按下B键)
{
  ball_color变量值设置为1;
}

if(按下C键)
{
  ball_color变量值设置为2;
}

switch(ball_color)
{
  case 0:
    球的颜色设置为红色;
    break;
    
  case 1:
    球的颜色设置为黄色;
    break;
    
  case 2:
    球的颜色设置为蓝色;
    break;
}

我们把这些内容转变成代码来表示,就像这样:

public GameObject sphere;
private int ball_color;
  
if(Input.GetKeyDown(KeyCode.A))
{
   ball_color = 0;
}


if(Input.GetKeyDown(KeyCode.B))
{
  ball_color = 1;
}


if(Input.GetKeyDown(KeyCode.C))
{
  ball_color = 2;
}


switch(ball_color)
{
  case 0:
    sphere.GetComponent<Renderer>().material.color = Color.red;
    break;
    
  case 1:
    sphere.GetComponent<Renderer>().material.color = Color.yellow;
    break;
    
  case 2:
    sphere.GetComponent<Renderer>().material.color = Color.blue;
    break;
    
  default:
    Debug.Log("该按键不能换颜色");
    break;
}

我们把内容放到代码编辑器中,如图所示:

进入unity中之后,在Hierachy中右键打开菜单,选择3D Object,新建一个Sphere,如图所示:

接着给这个Sphere添加changeColor的代码文件,像这样在Inspector视图中添加刚刚编辑的代码文件:

接着把Hieracrchy中的Sphere拖入到代码文件中,就像这样:

然后,我们点击运行按钮。

再按A、B、C键,我们就能看到物体的颜色发生了变化,就像这样:


好啦,今天的内容就这么多,我们通过2个小例子来基础认识了switch语句的使用。

恭喜我们又一起完成了一次笔记的学习,下一次的笔记,我们看看For Loop语句。

如果你喜欢这个笔记,请记得点赞,收藏或者分享噢~


#笔记##学习#

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: