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

2023-10-17 20:04

本文主要是介绍凉鞋的 Godot 笔记 201. 第三轮循环:引入变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

extends Node# Called when the node enters the scene tree for the first time.
func _ready():print("Hello Godot")pass # Replace with function body.# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):pass

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

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

extends Node# Called when the node enters the scene tree for the first time.
func _ready():print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")print("Hello Godot")pass # Replace with function body.# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):pass

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

image-20231002160704307

总共输出了十次 Hello Godot。

此时我突然想要把输出十次 Hello Godot 改成输出十次 Hello GDScript。

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

extends Node# Called when the node enters the scene tree for the first time.
func _ready():print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")print("Hello GDScript")pass # Replace with function body.# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):pass

运行之后结果如下:

image-20231002160952674

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

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

extends Node# Called when the node enters the scene tree for the first time.
func _ready():var text_to_print = "Hello GDScript"print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)pass # Replace with function body.# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):pass

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

extends Node# Called when the node enters the scene tree for the first time.
func _ready():var text_to_print = "Hello World"print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)print(text_to_print)pass # Replace with function body.# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):pass

这样非常优雅。

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

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

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

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

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

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

知识地图

image-20231002162151655

转载请注明 凉鞋的笔记

这篇关于凉鞋的 Godot 笔记 201. 第三轮循环:引入变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/227648

相关文章

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约