Godot学习笔记2——GDScript变量与函数

目录

一、代码编写界面

二、变量 

 三、函数

四、变量的类型 


Godot使用的编程语言是GDS,语法上与python有些类似。

一、代码编写界面

在新建的Godot项目中,点击“创建根节点”中的“其他节点”,选择“Node”。

点击场景界面右上角的绿色加号,路径处重新命名,模板选择“Empty”,即可进入代码编写界面。

二、变量 

在GDS中,我们使用“var”来定义一个变量。变量的命名规则与大多数语言一致,必须以字母、下划线开头,组成变量名的只能有字母、数字、下划线。

如果违反了变量命名规则,编译器会在代码编写区域的底部发出错误提示:

需要注意的是,变量之间的计算与转换只能在函数体内部进行,如果在外部,则会报错:

不同的变量分属不同的节点,在计算使用时需要强调是属于谁的变量。像这里我们的变量前应该有一个“self.”来表示这是节点自己的变量,但“self.”一般可以省略,所以并不是我们这里没有指定变量所属。 

 三、函数

在GDS中,我们使用“func”来定义一个函数:

 在这里,“_enter_tree()”是一个特殊的函数,它会在节点进入场景树时被自动调用。

我们可以在代码编写框的右上角点击“搜索帮助”,输入“_enter_tree”,即可查看文档中对改函数的介绍:

一般来讲,GDS中由系统自带的函数都具有与之相同的命名方式,即下划线开头。

在上述代码中,冒号后面的内容拥有了一个缩进,也就是一个"tab“键的长度。拥有同一级缩进的代码块将被视为在同一级。同时,GDS对代码的缩进非常敏感,少一个空格或多一个空格都是会报错的,这点与python非常像:

缩进错误

 在函数体中,我们首先使用了“print”函数,此函数也是提前封装好的,我们将鼠标移动到“print”处右键,选择“查找符号”,即可看到对该函数的介绍:

函数体最后一行“pass”,代表函数从这一行结束,一般函数的最后都要加这一句代码。 

此时,点击引擎右上角的开始按钮,即可看到控制台输出了变量“a”所代表的值1:

四、变量的类型 

在 GDS中,变量有四种类型,分别是:

  • int 整型
  • float 浮点型
  • string 字符串型
  • bool 布尔型

我们在GDS中定义了如下四种变量:

在GDS中,给变量赋值通常不需要先声明变量类型,系统会自动识别变量类型并进行动态更改。 

需要注意的是,字符串类型变量赋值的时候需要把字符串两边用双引号括起来,布尔型变量只有两个值:“true”或者“false”。 

在下方函数中,我们执行了一行把c的值赋值给a的代码,如果是在C语言环境下,运行会报错,但我们在Godot中运行看一下结果:

可以看到,“print”打印的是“Hello”,证明在GDS中变量并没有严格的类型界定。

我们也可以手动锁死每个变量的类型,只需在变量赋值时在等号前面加冒号和变量类型即可:

可以看到,此时函数体中出现了报错,说明a和c的类型已经被强制界定了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ISP代理和双ISP代理:区别和优势

随着互联网技术的不断发展和普及,网络代理服务成为众多用户保护隐私、提高网络性能、增强安全性的重要工具。其中,ISP代理和双ISP代理是两种常见的网络代理服务形式。本文将详细探讨ISP代理和双ISP代理的区别和优势,以便用户更好地了解并选择…

真实测评,霍尼韦尔、希喂、352宠物空气净化器性能对比

在快节奏的社会生活中,人们越来越注重精神需要,许多年轻人纷纷选择拥抱宠物,作为生活中的温馨伴侣。宠物们治愈心灵的同时也要付出一定“代价”,日常养护,如清理猫毛、管理气味以及保持宠物环境的清洁,都是…

开源发票识别InvoiceNet项目Windows部署踩坑记(1)

今天安装在github上的InvoiceNet开源项目,准备对它进行测试,安装过程出现了一些问题,做个记录,给遇到兄弟爬坑。 第一个问题,conda的问题, 这是另外一个包管理器,不仅仅可以管理python的虚拟…

UFO:革新Windows操作系统交互的UI聚焦代理

人工智能咨询培训老师叶梓 转载标明出处 人机交互的便捷性和效率直接影响着我们的工作和生活质量。尽管现代操作系统如Windows提供了丰富的图形用户界面(GUI),使得用户能够通过视觉和简单的点击操作来控制计算机,但随着应用程序功…

IP第一次综合实验

一、实验拓扑 二、实验要求 1、R6为ISP,接口IP地址均为公有地址,该设备只能配置地址之后不能冉对其进行任何配置 2、R1-R5为局域网,私有Ip地址192.168.1.0/24,请合理分配 3、R1、82、R4,各有两个环回IP地址;R5,R6各…

Linux、Windows和macOS上使用Telnet

文章目录 LinuxWindowsmacOS 在Linux、Windows和macOS上使用Telnet时,不同的系统有不同的工具和设置方法。以下是在这些系统上使用Telnet的简要说明: Linux 在Linux上,Telnet通常是通过telnet命令来使用的。首先,你需要确保你的系…

Ubuntu 24.04 LTS Noble安装 FileZilla Server

FileZilla Server 是一款使用图形用户界面快速创建 FTP 服务器的软件。它有助于测试需要 FTP 服务器功能的各种项目。虽然早期的 FileZilla FTP 服务器仅适用于 Windows 和 macOS,但现在我们也可以在 Linux(例如 Ubuntu 24.04)上安装 FileZil…

解决Visual studio内报错信息:MSB8036:找不到 Windows SDK 版本问题

问题描述: 找不到WindowsSDK版本,请安装所需版本的Windows SDK,或者在项目属性页中通过右键单击解决方案并选择“重定解决方案目标”来更改SDK版本。 首先,如果你尝试了以下两种方法: (1)重新…

43 华三AC登录Web页面

一 无线上WEB页面 1 创建vlan 56 [AC-KongZhi]vlan 56 2 退出 [AC-KongZhi-vlan56]quit 3 进入vlan三层口 配置IP地址 [AC-KongZhi]interface Vlan-interface 56 [AC-KongZhi-Vlan-interface56]ip address 192.168.56.55 24 4 在AC控制器与Host主机的接口上能通关vlan 5…

【人工智能】使用Python的dlib库实现人脸识别技术

🔥 个人主页:空白诗 文章目录 一、引言二、传统人脸识别技术1. 基于几何特征的方法2. 基于模板匹配的方法3. 基于统计学习的方法 三、深度学习在脸识别中的应用1. 卷积神经网络(CNN)2. FaceNet和ArcFace 四、使用Python和dlib库实…

56 网络层

本节重点 理解网络层的作用,深入理解IP协议的基本原理 对整个TCP/IP协议有系统的理解 对TCP/IP协议体系下的其他重要协议和技术有一定的了解 目录 前置认识ip协议基本概念协议头格式网段划分特殊的ip地址ip地址的数量限制私有ip和公有ip路由路由表生成算法 在复杂…

【专题】百度萝卜快跑体验:Robotaxi发展现状与展望报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p37054 百度“萝卜快跑”近期因事故与抵制引发关注,武汉部署超300辆全无人驾驶车。体验显示其安全但策略保守,行驶效率低于人类司机,价格亲民。阅读原文,获取专题报告合集全文&#xf…

力扣高频SQL 50题(基础版)第六题

文章目录 1378. 使用唯一标识码替换员工ID题目说明思路分析实现过程结果截图总结 1378. 使用唯一标识码替换员工ID 题目说明 Employees 表: ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | ------…

PWM再理解(1)

前言 昨天过于劳累,十点睡觉,本来想梳理一下PWM,今天补上。 PWM内涵 PWM全称:Pulse Width Modulation,也就是脉宽调制的意思,字面意思理解就是对脉冲的宽度进行改变。准确就是通过数字输出对模拟电路进行…

python+pyqt开发海康相机数据采集系统

pythonpyqt开发海康相机数据采集系统 pythonpyqt开发海康相机数据采集系统 1 开发软件功能: 支持搜索相机:Gige相机设备和USB相机设备支持两种触发模式:软件触发和编码器触发支持数据采集过程中图像实时保存支持参数调节和实时预览&#xff…

ssh到huawei交换机

import re from netmiko import ConnectHandlerips [ 10.32.5.130, 10.32.5.131, 10.32.5.132, 10.32.5.133, 10.32.5.134, 10.32.5.135, ]for ip in ips:hw_fw {device_type: huawei,host: ip, username: 493031,password: 密码,port: 22 }net_connect ConnectHandler(*…

threejs零基础搭建3D可视化汽车展厅

前置知识(最下面有完整代码) 每个代码都有注释,零基础也能看懂 中文官方文档教程 创建项目 创建空文件夹 执行如下命令初始化package.json文件 npm init -y安装threejs包 yarn add three安装tween.js动画库,用于做动画 tweenjs文档 yarn add @tweenjs/tween.js安装gui调…

电子印章生成器在线制作免费工具

电子印章生成器在线制作免费工具 电子印章生成器是一种在线工具,用户可以通过它快速生成各种类型的电子印章。输入文字即可制作电子印章,并且支持下载透明无背景的PNG格式图。可以自定义印章的文字、颜色、老化、边线等参数,并选择本地字体或…

第2章-数学建模

目录 一、数据类型 【函数】: (1)find()、rfind()、index()、rindex()、count() (2)split()、rsplit() (3)join() (4)strip()、rstrip()、lstrip() (5&…

怎样使用 Juicer tools 的 dump 命令将.hic文件转换为交互矩阵matrix计数文件 (Windows)

创作日志: 万恶的生信…一个scHiC数据集没有提供处理好的计数文件,需要从.hic转换。Github一个个好长的文档看了好久才定位到 juicer tools 的dump命令,使用起来比想象中简单。 一、下载Juicer tools 注意:使用Juicer tools的前提…