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的类型已经被强制界定了。
相关文章:
Godot学习笔记2——GDScript变量与函数
Godot使用的编程语言是GDS,语法上与python有些类似。 一、代码编写界面 在新建的Godot项目中,点击“创建根节点”中的“其他节点”,选择“Node”。 点击场景界面右上角的绿色加号,路径处重新命名,模板选择“Empty”&…...
golang开发环境搭建与踩坑记录
文章目录 一、安装下载1、go环境2、ide 二、基本使用1、运行2、结构体与方法函数指针3、闭包4、指针5、map6、接口7、异常 三、包管理1、go mod语法2、项目下载所有依赖 一、安装下载 1、go环境 下载地址:https://go.dev/dl/ 或者:https://golang.goog…...
单机、集群、分布式服务器比较:
1. 单机服务器的瓶颈: 单机服务器:一台服务器独立运行一个工程所需的全部的业务模块 受限于服务器硬件资源,所承受用户并发量受限,32位linux操作系统最大并发量为两万任一模块的变动和修改,都会导致整个项目代码重新编…...
NoSql选择题解
1. (单选题)以下不属于ACID原则的是( )。 A. 相对性 B. 原子性 C. 隔离性 D. 持久性 正确答案: A :相对性; 2. (单选题)以下NoSQL数据库中,哪个是内存数据库()。 A. Bigtable B. Redis C. Hbase D. MongoDB 正确答案: B :Redis; …...
国内新能源汽车芯片自给,承认差距,任重道远
【科技明说 | 科技热点关注】 据近日工信部电子五所元器件与材料研究院高级副院长罗道军表示,中国拥有最大的新能源车产能,芯片用量也是越来越多。但是芯片的自给率目前不到10%,是结构性的短缺。 中国拥有最大新能源车产能&#…...
反爬虫策略中的IP地址轮换如何实现?挑战与对策
当今互联网时代,各类网站、网络平台背后隐藏着大量数据,广告数据收集、市场数据收集都需要依托爬虫技术,但很多网站通过反爬虫技术限制或屏蔽爬虫的访问,这给数据收集带来不小的挑战。 为了规避这些反爬虫策略,开发人…...
AUTOSAR CAN网络Bus Load Reduction Mechanism
1. Bus Load Reduction Mechanism有什么用 根据AUTOSAR CanNM规范,NM PDU的发送周期由参数CanNmMsgCycleTime决定,并且属于同一个网络簇的所有NM节点该参数必须相同。如果不采取任何行动,这将导致总线负载问题,这取决于网络管理集群成员的数量。即使通过节点特定的定时参数…...
【LeetCode力扣】007. 整数反转(Python)
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入…...
大数据之写入Doris数据问题
1. 解决Key columns should be a ordered prefix of the schema. KeyColumns[1] (starts from zero) is xxx, but 背景 create table if not exists XXX ( fathercorp varchar(50), id decimalv3(38,0) ) ENGINEOLAP UNIQUE KEY(id) COMMENT xxxx DISTRIBUTED BY HASH(id) BUC…...
HTML+echarts.js实现的炫酷金色风格可视化组件
模板下载地址: 炫酷金色风格可视化组件 (bootstrapmb.com)https://www.bootstrapmb.com/item/14888 一款炫酷金色风格可视化组件,统计图表使用Echarts.js,整体风格采用金黄色看起来很大气,设计是通用型的,可以用作任…...
【BUG】已解决: KeyboardInterrupt
已解决: KeyboardInterrupt 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.net、C…...
iOS——MRC与ARC以及自动释放池深入底层学习
MRC与ARC再回顾 在前面,我们简单学了MRC与ARC。MRC指手动内存管理,需要开发者使用retain、release等手动管理对象的引用计数,确保对象在必要时被释放。ARC指自动内存管理,由编译器自动管理对象的引用计数,开发者不需要…...
OpenCV教程:cv2如何把两张图片的大小,设置成相同的宽高
-------------OpenCV教程集合------------- Python教程99:一起来初识OpenCV(一个跨平台的计算机视觉库) OpenCV教程01:图像的操作(读取显示保存属性获取和修改像素值) OpenCV教程02:图像处理…...
web前端 Vue 框架面试120题(五)
面试题 81 . 请简述Vue更新数组时触发视图更新的方法? 参考回答: push();pop();shift();unshift();splice();sort();reverse()面试题 82 . 简述如何使用Vue-router实现懒加载的方式…...
CV12_ONNX转RKNN模型(谛听盒子)
暂时简单整理一下: 1.在边缘设备上配置相关环境。 2.配置完成后,获取模型中间的输入输出结果,保存为npy格式。 3.将onnx格式的模型,以及中间输入输出文件传送到边缘设备上。 4.编写一个python文件用于转换模型格式,…...
k8s集群创建devops项目一直等待状态,没有发现host
问题分析: kubesphere在帮我们自动化创建一些智能自动化的额时候难免会发生一些小错误,devops-jenkins是一个部署也会生成一个容器组即pod,容器组的容器服务端口是 targetPort,容器组对外暴露的端口是port,拿devops-c…...
chatglm2-6b-prompt尝试
参考https://cloud.tencent.com/developer/article/2426296 chatglm2-6b,通过prompt来实现zero-shot/fewshot的自然语言处理任务 import json import re import os from modelscope.utils.constant import Tasks from modelscope import Model from modelscope.pi…...
vite+vue3项目初始化搭建
vitevue3项目初始化搭建 "nodejs": v18.19.0 "pnpm": 8.15.0 "vue": v3.4.21 "vite": v5.2.01.创建项目 Vite中文官网 pnpm create vitelatest项目名字:gd_web 选择框架:Vue3 选择语言:JavaScrip…...
使用 Vue3、Node.js、MySQL、Electron 和 Express 实现用户登录、文章管理和截屏功能
在现代 Web 开发中,前后端分离的架构已经成为主流。本文将详细介绍如何使用 Vue3、Node.js、MySQL、Electron 和 Express 实现一个完整的用户登录、文章管理和截屏功能的应用。我们将从项目的初始化开始,逐步实现各个功能模块,并提供详细的代…...
django中日志模块logging的配置和使用
一、文件的配置 settings.py文件中添加LOGGING块的配置,配置如下 # 日志记录 LOGGING {"version": 1,"disable_existing_loggers": False, # 用于确定在应用新的日志配置时是否禁用之前配置的日志器# 格式器"formatters": {"v…...
智能电商客服中台系统实战:高并发场景下的架构设计与性能优化
背景痛点:大促下的客服系统之困 每年双十一、618这类电商大促,对技术团队来说都是一场“大考”。作为直接面对海量用户的客服系统,更是压力山大。我经历过几次大促保障,发现客服系统在峰值流量下,通常会暴露出几个典型…...
Alpamayo-R1-10B入门必看:VLA模型与传统端到端/模块化架构的本质差异
Alpamayo-R1-10B入门必看:VLA模型与传统端到端/模块化架构的本质差异 1. 引言:自动驾驶决策的十字路口 想象一下,你正在教一个新手司机开车。传统的方法有两种:一种是让他死记硬背所有交通规则和操作步骤(模块化&…...
OpenClaw多端同步:GLM-4.7-Flash任务跨设备执行方案
OpenClaw多端同步:GLM-4.7-Flash任务跨设备执行方案 1. 为什么需要多端同步? 去年冬天的一次出差经历让我深刻体会到设备割裂的痛苦。当时我正在用OpenClaw处理一个数据分析项目,笔记本上运行着GLM-4.7-Flash模型生成的自动化脚本。突然接到…...
基于OpenStack的毕业设计:从零搭建私有云平台的入门实战与避坑指南
最近在帮学弟学妹们看毕业设计,发现不少同学对云计算方向很感兴趣,尤其是想用OpenStack做个私有云平台。但一上手就懵了,组件多、文档杂,环境动不动就崩,最后时间都花在折腾部署上了。我自己当初也踩过不少坑ÿ…...
熵权法背后的信息论:为什么你的特征权重计算总不准?
熵权法的信息论本质:从数学原理到权重计算的精准控制 当我们需要从海量数据中提取关键特征时,如何科学地确定每个特征的权重?熵权法作为一种客观赋权方法,其核心思想源自信息论中的熵概念。但许多实践者发现,直接套用标…...
GLM-OCR公式识别效果展示:LaTeX格式精准渲染,学术党必备工具
GLM-OCR公式识别效果展示:LaTeX格式精准渲染,学术党必备工具 作为一名经常需要处理学术文献的研究人员,我深知公式识别的痛点。那些复杂的数学表达式,要么手动输入到LaTeX里费时费力,要么用传统OCR工具识别后变成一堆…...
基于Python的宽带业务管理系统毕设源码
博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于Python的宽带业务管理系统,以提升宽带服务提供商的业务管理效率和客户服务质量。具体研究目的如下:系统架构…...
Chatbox 连接火山引擎 ModelNotOpen 实战指南:从零搭建到生产环境部署
作为一名开发者,你是否也曾对构建一个能与自己实时对话的AI应用心驰神往?想象一下,一个能听懂你说话、理解你意图、并用自然声音回应你的数字伙伴。这听起来像是未来科技,但实际上,利用现有的强大工具,我们…...
ChatTTS角色系统:从技术原理到生产环境部署指南
在语音合成技术日益成熟的今天,多角色、高表现力的TTS系统已成为互动应用的关键组件。ChatTTS的角色系统允许在同一对话流中动态切换不同音色的语音输出,极大地提升了交互的自然度和沉浸感。然而,在实际生产部署中,开发者常面临一…...
【2026年阿里巴巴春招- 3月25日-算法岗-第一题- 三星数字】(题目+思路+JavaC++Python解析+在线测试)
题目内容 给定一个整数 n n n ,请你找到两个不同的正整数 x , y x,y x,y,满足...
