godot使用简介

编译

https://gitee.com/mirrors/godot.git

python -m pip install scons
scons -j6 platform=windows

场景Scene

  • Scene,Project由Scene场景组成,场景中所有对象继承Node(Node继承Object,Object包含所有图形和数据元素)。
  • PackedScene,scene序列化,node需要设置了owner才能保存
  • Scene Group:场景对象划分,方便消息分类传递和搜索。

生命周期:_enter_tree------_ready------_exit_tree (instance实例化和free释放)
Scene singleton:场景单例(Project Setting中设置,AutoLoad选项添加资源窗口中的全局脚本)

重要元素

  • Node基本元素,可以分组和接收事件,NodeTree组成Scene,
  • TileMap瓦片地图,生成基本的游戏背景地图,计算位置和碰撞。

GDScript

  • 函数:func name():
  • 分支:if expresion:
  • 循环:for var in varlist:
  • 属性:var setget func(属性值变化捕获)
  • 静态函数:self.*
  • 函数引用:funcref(instance,funcname)、instance.call(fucname,args)、ref.exec调用
  • 信号:signal(a,b) signal
  • 返回:yield立刻函数返回 resume回退到yield记录点执行 yield(object,signal)
  • Node方法:gettree(获取场景树) , getnode(获取节点)
  • Reference:资源文件init_ref、 unreference、 reference(可以查看help中的api)
  • Signal(Qt信号)、Connect(连接邮槽)
  • Node属性:
  • Process:idle Processing(脚本空闲处理帧数据)、fixed Processing(脚本固定处理帧数据,需要引擎同步)
  • Script:GDScript脚本
  • load:动态加载 preload:静态加载
  • 可视化脚本,图形化编程,添加脚本时选择VisualScript

keyword

  • $NodePath,get_node(“NodePath”)的快捷方式
  • @“A/B”, NodePath
  • export导出,编译器可编辑
  • signal自定义信号,编辑器可见的事件信号
  • get、set属性
  • supper父类,3.x使用.访问父类
  • tool,编辑器中运行代码,不在游戏中运行

gdscript 4.x和3.x语法区别
https://blog.csdn.net/ttm2d/article/details/107818889

Engine

参考:
http://www.amsoft.cn/sort/27
http://www.godotengine.org/wp/features/
https://github.com/okamstudio/godot/wiki/gdscript脚本语法

猜你喜欢

转载自blog.csdn.net/daoer_sofu/article/details/128397374