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

发布于:2024-04-20 ⋅ 阅读:(27) ⋅ 点赞:(0)

数组和字典的遍历

数组的概念
  • 数组是一组数据的集合。在程序中负责批量处理数据。
  • 数组中的元素可以包括各个类型的数据,也可以对数组内数据类型进行限定。
  • 可以通过 数组名【数字】 的形式来访问数组元素,数字 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. 参考资料