9.Godot数组|遍历|静态变量|对象|调试

数组和字典的遍历

数组的概念
  • 数组是一组数据的集合。在程序中负责批量处理数据。
  • 数组中的元素可以包括各个类型的数据,也可以对数组内数据类型进行限定。
  • 可以通过 数组名【数字】 的形式来访问数组元素,数字 0 代表数组的第一个元素。
  • 数组可以通过调用函数来增加或去除内部数据。可以使用 size()来获取数组内元素总数。
  • 数组是引用变量
  • 引用变量:执行 变量 A= 变量 B 这段代码时,变量 A 不会重新创建一个与 B 变量值相同的数据。对于 A 变量的修改可以影响到 B。
数组遍历
func arrayIterator():
	# range等价于for(int i = 0; i < 20; i++)
	print("数组遍历方法1:")
	for i in range(3):
		print(i)
	print("数组遍历方法2:")
	for ele in arr:
		print(ele)
	print("数组遍历方法3:")
	for index in range(arr.size()):
		print(arr[index])
字典遍历
func dictionaryIterator():
	print("字典遍历方法1:")
	for key in dict:
		print("key:" + key as String)
		print("value:" + dict[key] as String)
		
	print("字典遍历方法2:")
	for key in dict.keys():
		print("key:" + key as String)
		print("value:" + dict[key] as String)
		
	print("字典遍历方法3:")
	for value in dict.values():
		print("value:" + value as String)	

静态变量和静态方法

  • const常量
const ANSWER = 42
  • 静态变量,常量和静态变量不是一个东西,有区别的
static var my_static_field = 42
  • 静态方法
  • 静态方法只能访问静态常量
static func getAnswer():
	return ANSWER

13. 对象

  • 真实生活中的对象,属性和方法
  • 真实生活中,一辆汽车是一个对象。对象有它的属性,如重量和颜色等,方法有启动停止等
# Inner class,默认继承Object
class Animal:
	extends Object  # 如果不指定继承的类,默认基础Object
	const STATIC_FIELD = "静态变量"
	# 属性
	var height: int
	
	func _init():
		print("Animal 构造方法")
		
	func move():
		print("animal,移动")
	
	static func staticFuction():
		pass
  • 使用super关键字调用父类方法

14. 调试

  • 在编写 GdScript 时,如果没有调试工具将是一件很痛苦的事情。
  • 你的代码可能包含语法错误,逻辑错误,有了调试工具,这些错误比较容易发现。

方法
![[Pasted image 20240419153107.png]]

每一行的左边点击一下可以打断点
![[Pasted image 20240419153212.png]]

打两个断点
这时候运行一下程序
就会在第一个断点处停下来
![[Pasted image 20240419153324.png]]

通过下面的debug页面
可以查看栈帧和变量
![[Pasted image 20240419153603.png]]

打开跳过断点,就会关闭断点调试,路过断点不会进入调试界面

![[Pasted image 20240419153730.png]]

  1. 复制错误信息

  2. 单步进入
    可以进入函数运行代码
    ![[Pasted image 20240419153800.png]]

  3. 单步跳过
    一行一行执行代码
    ![[Pasted image 20240419153807.png]]

  4. 继续
    ![[Pasted image 20240419154017.png]]

继续运行程序
如果有下一个断点,到下一个断点停止

15. 参考资料

  • godot官方文档
  • Godot Tutorials的GDScript Fundamentals Tutorial Series,youtube播放量最高的godot教程视频
  • Godot Tutorials的Godot Basics Tutorial Series,youtube播放量最高的godot教程视频
  • B站视频

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《中学科技》是什么级别的刊物?如何投稿?

《中学科技》是什么级别的刊物&#xff1f;如何投稿&#xff1f; 《中学科技》创刊于1976年&#xff0c;由上海世纪出版&#xff08;集团&#xff09;有限公司主管&#xff0c;上海科技教育出版社有限公司主办的省级学术期刊&#xff0c;《中学科技》以传播科技知识、启迪智慧…

蓝桥杯2024年第十五届省赛真题-宝石组合

思路&#xff1a;参考博客&#xff0c;对Ha,Hb,Hc分别进行质因数分解会发现&#xff0c;S其实就等于Ha&#xff0c;Hb&#xff0c;Hc的最大公约数&#xff0c;不严谨推导过程如下&#xff08;字丑勿喷&#xff09;&#xff1a; 找到此规律后&#xff0c;也不能枚举Ha&#xff…

AI容器化部署开发尝试 (一)(Pycharm连接docker,并部署django测试)

注意&#xff1a;从 Docker 19.03 开始&#xff0c;Docker 引入了对 NVIDIA GPU 的原生支持&#xff0c;因此若AI要调用GPU算力的话docker版本也是有要求的&#xff0c;后面博客测试。 当然本篇博客还没设计到GPU的调用&#xff0c;主要Pycharm加Anaconda的方案用习惯了&#…

基于Springboot的社区待就业人员信息管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的社区待就业人员信息管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三…

pdf加水印怎么加?自己原创的PDF资料分享到网络上需要采取一些版权保护的措施,添加水印就是个不错的选择

一&#xff0c;水印的基本概念 水印通常是一种用于标识文件来源、版权信息或防止非法复制的标记。它可以是文字、图形或图像等形式&#xff0c;以半透明或半淡化的方式嵌入到文件中&#xff0c;既不影响文件的正常阅读&#xff0c;又能起到标识和保护的作用。 二&#xff0c;…

mars3d实现禁止地图移动,禁止地图左右平移,但是鼠标可以移动的效果。

new mars3d.layer.GeoJsonLayer({渲染后实现鼠标左键按住不释放拖动时&#xff0c;地图不跟着拖动效果 当前问题&#xff1a; 1.在map初始化&#xff0c;或者是加载效果的时候&#xff0c;整个地球的场景都是一样的。 如果鼠标左键按住不释放&#xff0c;在屏幕上拖动的时候…

设计模式代码实战-责任链模式

1、问题描述 小明所在的公司请假需要在OA系统上发布申请&#xff0c;整个请求流程包括多个处理者&#xff0c;每个处理者负责处理不同范围的请假天数&#xff0c;如果一个处理者不能处理请求&#xff0c;就会将请求传递给下一个处理者&#xff0c;请你实现责任链模式&#xff…

C++:map和set的使用

一、关联式容器介绍 在学习map和set之前&#xff0c;我们接触到的容器有&#xff1a;vector、list、stack、queue、priority_queue、array&#xff0c;这些容器统称为序列式容器&#xff0c;因为其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身。 关联式容器也是用…

Appian发布最新版本:通过AI流程自动化推动业务发展

Appian公司于2024年4月16日在弗吉尼亚州麦克莱恩宣布推出Appian平台的最新版本。此版本引入了Process HQ&#xff0c;这是一个集流程挖掘和企业AI于一体的系统&#xff0c;结合了Appian的数据平台。Process HQ为企业运营提供前所未有的可见性&#xff0c;支持数据驱动的决策和流…

微信小程序四(全局配置和页面配置页面跳转)

全局配置&#xff1a; 小程序根目录下的 app.json 文件用来对微信小程序进行全局配置&#xff0c;决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等 tabBar设置&#xff1a;最少两个最多5个 "tabBar": {"list":[{"pagePath": &qu…

【若依】代码生成详细教程(单表、主从表、树形表增删改查)

若依代码生成开发接口 修改代码生成配置一、单表实现增删改查1. 新建数据库表结构2. 新建模块&#xff0c;解决项目依赖3. 启动项目&#xff0c;新建菜单4. 导入数据表&#xff0c;自动生成代码5. 将生成代码粘贴到对应的模块&#xff0c;执行生成的sql&#xff08;用于生成菜单…

OpenHarmony网络协议通信—nanopb

简介 nanopb是一种小代码量的协议缓冲区实现&#xff0c;适用于任何内存受限的系统。 下载安装 直接在OpenHarmony-SIG仓中搜索nanopb并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的Nanopb库代码存在以下路径&#xff1a;./third_party/nanopb 修改添…

一键设置个性手机壁纸:苹果手机怎么设置动态壁纸?

在苹果手机上设置动态壁纸是一种让你的手机屏幕更生动、更有趣的方式。无论是流动的水滴、绚丽的光影还是动态的星空&#xff0c;动态壁纸可以为你的手机带来全新的视觉体验。苹果手机怎么设置动态壁纸&#xff1f;在本文中&#xff0c;我们将介绍苹果手机上如何设置动态壁纸的…

李沐-16 PyTorch 神经网络基础【动手学深度学习v2】

注&#xff1a;1. 沐神对应章节视频出处 2.代码使用Jupyter Notebook运行更方便 3.文章笔记出处 一、层和块 层&#xff1a;层&#xff08;1&#xff09;接受一组输入&#xff0c; &#xff08;2&#xff09;生成相应的输出&#xff0c; &#xff08;3&#xff09;由一组可调整…

priority queue优先队列(三)

一、优先队列 优先队列不再遵循先进先出的原则&#xff0c;而是分为两种情况: 最大优先队列&#xff0c;无论入队顺序如何&#xff0c;都是当前最大的元素优先出队。 最小优先队列&#xff0c;无论入队顺序如何&#xff0c;都是当前最小的元素优先出队。 在操作系统中&#xf…

k8s 部署 kube-prometheus监控

一、Prometheus监控部署 1、下载部署文件 # 使用此链接下载后解压即可 wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/heads/release-0.13.zip2、根据k8s集群版本获取不同的kube-prometheus版本部署 https://github.com/prometheus-operator/k…

达梦数据库一体机树立金融解决方案标杆

达梦数据库一体机自问世以来&#xff0c;获得众多行业用户的高度关注&#xff0c;并率先在金融行业吹响冲锋号角&#xff0c;实现多个重大项目的落地应用。近日&#xff0c;珠海华润银行股份有限公司基于达梦数据库一体机 I 系列的《数据库一体机银行多业务系统集中部署解决方案…

STM32之串口中断接收丢失数据

五六年没搞STM32了&#xff0c;这个项目一切都挺顺利&#xff0c;万万没想到被串口接收中断恶心到了。遇到的问题很奇怪 HAL_UART_Receive_IT(&huart1, &rx_buffer[rx_index], LCD_UART_LEN); 这个代码中 LCD_UART_LEN1的时候&#xff0c;接收过来的数据&#xff0c;数…

VR全景展览——开启全新视界的虚拟展览体验

随着VR技术的不断发展和成熟&#xff0c;VR全景展览已经成为现代展览行业的一大亮点。通过模拟现实世界的场景&#xff0c;VR全景展览为用户提供了一个沉浸式的观展体验&#xff0c;使参观者能够跨越地理和时间限制&#xff0c;探索不同领域的展览。 一、VR全景展览的功能优势 …

用RPA自动给抖音涨粉(内附使用教程)

前言 小北准备新开一个教程系列&#xff0c;关于如何用RPA自动化给抖音涨粉。 因为我最近在摸索抖音相关的玩法&#xff0c; 发现抖音很多功能都需要一定的粉丝基础才能开通&#xff0c;比如达人&#xff0c;星图&#xff0c;带货等等。 所以有没有什么办法可以自动涨粉&am…
最新文章