Godot学习笔记3——GDScript变量间的转换规则

目录

一、整型与浮点型之间的转换

二、整型、浮点型与字符串型之间的转换

三、整型、浮点型与布尔值之间的转换 

 四、二维向量的定义及修改

​编辑

五、修改内置变量对游戏产生影响


一、整型与浮点型之间的转换

在上节的代码中,我们先把所有变量都带上强制类型,并把b的值改为2.6,在函数中将b赋值给a,可以看到如下结果:

输出的是2,代表在浮点型赋值给整型时直接抛弃小数点后部分,不存在四舍五入情况。

将a赋值给b重新运行:

可以看到,给浮点变量赋值整型值,结果为自身。

二、整型、浮点型与字符串型之间的转换

在上节中,我们之间把a的值赋值给c会报错,GDS中提供了可以让整型与浮点型转换为字符串型的方法“String.num”与“String.num_int64”:

鼠标移动到对应方法,右键选择“查找符号”,即可查看文档中对该方法的解释:

 

 简单来说,“String.num”是将传入的浮点值以字符串的形式输出,“String.num_int64”是将传入的整型值以字符串的形式输出。

我们右键第十行选择“切换注释”,并运行看一下结果:

可以看到,虽然编译器输出的还是2.6,但这里的已经不是能被运算的数字,而是以字符串的形式存储在变量c中。

在下方补一句“c = c+c”,编译运行后看到如下结果:

 可以看到,这里出现的结果不是预期的“5.2”,而是“2.62.6”,这表明程序在这里实现的是字符串之间的加法。

字符串是不能进行减法的,只能进行加法。加法即为把进行运算的两个字符串拼起来。

三、整型、浮点型与布尔值之间的转换 

在GDS中,布尔值与字符串是不能进行转换的,只有整型与浮点型可以。规则为:当变量为0时布尔值为false,非零情况全部为true。

布尔值自身有一个运算符号非(“!”),将布尔值进行反转,true变false,false变true:

 四、二维向量的定义及修改

在GDS中,我们使用“Vector2”来定义二维向量,用小括号括起来的两个浮点值,更改时对变量名.x或.y赋值即可:

运行后可看到,v的值已经变为了(16,1),证明修改成功。

同样的,鼠标放在“Vector2”上右键选择“查找符号”,即可查看对该类的介绍:

五、修改内置变量对游戏产生影响

在GDS中,除了上述用户自定义变量,还有许多内置变量,在创建节点时即可使用。

例如,我们在“Node”节点下新建一个“Sprit2D”节点,该节点可以显示图片,再将项目文件里的icon拖动到右侧的“Texture”栏中,再鼠标左键拖动到可见位置:

 左击场景右上方栏的绿色加号添加脚本,并写入以下代码:

此时点击运行,即可看到弹出一个游戏窗口,可以看到图标在随着时间像屏幕右侧移动:

按住control键单击position,即可看到文档中对其的介绍:

可以看到,position是一个二维向量。.x改变了图片属性的x坐标。

“_process”函数是引擎自带的函数,在游戏的每一帧都会自动调用。

现在,我们在左边栏再次选中“Node”,右键新建一个“label”的子节点,该节点用来显示字符。并且点击右上角绿色加号新建脚本,在脚本内输入以下代码:

点击运行,即可看到弹出的游戏窗口:

按住control键单击label,往下翻即可查看该节点的所有属性:

 

相关推荐

  1. Shell 学习笔记 - 变量类型 + 变量赋值

    2024-07-21 12:18:03       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 12:18:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 12:18:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 12:18:03       45 阅读
  4. Python语言-面向对象

    2024-07-21 12:18:03       55 阅读

热门阅读

  1. 系统运维的数字化与智能化探索

    2024-07-21 12:18:03       16 阅读
  2. Python异常处理

    2024-07-21 12:18:03       13 阅读
  3. 力扣题解(完全平方数)

    2024-07-21 12:18:03       20 阅读
  4. leetcode位运算(1720. 解码异或后的数组)

    2024-07-21 12:18:03       16 阅读
  5. 数据结构 day1

    2024-07-21 12:18:03       14 阅读
  6. 5 webSocket

    2024-07-21 12:18:03       18 阅读
  7. 什么是样本不平衡?

    2024-07-21 12:18:03       15 阅读
  8. 面向开发者的提示词工程第六章-文本转换

    2024-07-21 12:18:03       16 阅读
  9. c++应用网络编程之四Linux常用的网络IO模型

    2024-07-21 12:18:03       18 阅读
  10. 【NLP】关于参数do_sample的解释

    2024-07-21 12:18:03       15 阅读