GDScript 是上面提到的用于Godot的主要语言。和其他语言相比,它与Godot高度整合,有许多优点:

  • 简单,优雅,设计上为Lua、Python、Squirrel等语言用户所熟悉。
  • 加载和编译速度飞快。
  • 编辑器集成非常令人愉快,有节点、信号、其它场景相关项目的代码完成。
  • 有内建矢量类型(比如Vector、Transform等),大量使用线性代数时非常有效。
  • 支持多线程,像静态类型语言一样有效 - 这是我们避免使用诸如Lua、Squirrel等虚拟机的原因之一。
  • 不使用垃圾回收器,所以它确定性地自动处理之这部分(大多数对象都是引用计数)。
  • 它的动态特性使其需要提高性能时,可以很容易地优化C++代码段(通过GDNative),而这些不需要重新编译引擎。

GDScript的例子

有些人可以通过查看语法来更好地学习,下面是GDScript的一个简单示例。

# A file is a class!# Inheritanceextends BaseClass# (optional) class definition with a custom iconclass_name MyClass, "res://path/to/optional/icon.svg" # Member Variables var a = 5 var s = "Hello" var arr = [1, 2, 3] var dict = {"key": "value", 2:3} var typed_var: int var inferred_type := "String" # Constants常类型 const ANSWER = 42 const THE_NAME = "Charly" # Enum枚举 enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY} enum Named {THING_1, THING_2, ANOTHER_THING = -1} # Built-in Vector Types容器类型 var v2 = Vector2(1, 2) var v3 = Vector3(1, 2, 3) # Function func some_function(param1, param2): var local_var = 5 if param1 < local_var: print(param1) elif param2 > 5: print(param2) else: print("Fail!") for i in range(20): print(i) while param2 != 0: param2 -= 1 var local_var2 = param1 + 3 return local_var2 # Functions override functions with the same name on the base/parent class. # If you still want to call them, use '.' (like 'super' in other languages).覆盖方法变动 func something(p1, p2): .something(p1, p2) # Inner Class class Something: var a = 10 # Constructor构造函数 func _init(): print("Constructed!") var lv = Something.new() print(lv.a)

转载于:https://www.cnblogs.com/empist/p/10198529.html

3.GDScript(1)概览相关推荐

  1. Intel Optane PMEM 概览

    文章目录 前言 基本架构 编程模型 PMDK 接口架构 接口概览 pmdk 安装 开发文档汇总 PMEM性能 官方性能 实测性能 前言 随着以PCM 为存储单元的3D XPoint 非易失存储介质 不 ...

  2. 操作系统学习2:操作系统的发展和概览

    操作系统的发展和概览 手工阶段(电子管时代) 特点: 用户独占全机 用户独占计算机所有资源,资源利用率低 CPU等待用户 计算前,手工装入纸带或卡片:计算完成后,手工卸取纸带或卡片:CPU利用率低. ...

  3. Windows 消息循环(1) - 概览

    本文从消息循环是如何驱动程序的这个角度,对 Windows 消息循环进行概览性介绍. 使用 EN5 课件获得更好的阅读体验: [希沃白板5]课件分享 : <Windows培训 - 消息循环> ...

  4. flutter ios启动白屏_Flutter技术架构概览

    前言 最近在整理各种技术架构,给自己的列了个TODO list,希望能在几个月的时间内,研究完各种前端技术架构,包括移动端技术架构.今天分享一下自己整理的flutter技术架构.完整的技术架构TODO ...

  5. RESTful之视图概览和视图说明

    一.视图概览 REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写. 视图的继承关系: 视图的方法与属性: 二.视图说明 1. 两个基类 1)APIView rest_fr ...

  6. 热点:3个故事概览突飞猛进的肠道病毒组研究

    编者按: 提到病毒可能很多人就会想到疾病和死亡,尤其是在当下这个特殊的时期. 过去 4 个月,新冠肺炎(COVID-19)在全世界范围内大流行,截至 5 月 23 日 11:00,中国累计确诊人数达到 ...

  7. emc celerra(一)--界面概览

    1.EMC celerra打开http://IP地址即可看到如下界面,可以看到此时灰色部分功能为未授权license 2.激活以上灰色部分的功能 3.下图显示都已激活 4.可以看到网络接口的IP地址 ...

  8. Apache Beam的架构概览

    不多说,直接上干货! Apache Beam是一个开源的数据处理编程库,由Google贡献给Apache的项目,前不久刚刚成为Apache TLP项目.它提供了一个高级的.统一的编程模型,允许我们通过 ...

  9. 一文概览图卷积网络基本结构和最新进展(附视频代码)

    来源:机器之心 本文长度为3476字,建议阅读7分钟 本文为你介绍图卷积网络的基本结构和最新的研究进展,并用一个简单的一阶 GCN 模型进行图嵌入. 本文介绍了图卷积网络的基本结构和最新的研究进展,并 ...

最新文章

  1. tar php启动,安装php过程(FastCGI模式)
  2. 简单的Http请求数据保存到Hdfs
  3. NASA告诉你四翼飞行器的飞行原理
  4. 艾伟_转载:WPF/Silverlight陷阱:XAML自定义控件的嵌套内容无法通过名称访问
  5. cad中线段求和lisp_cad中连续线段变更圆滑弧形
  6. 计算机文本处理竞赛题目,文字处理竞赛题目(word2010).pdf
  7. 详解在Visual Studio中使用git版本系统 [转]
  8. Spring+SpringMVC+Mybatis框架搭建
  9. 蓝桥杯——说好的进阶之入学考试
  10. 剑指offer(28)—数组中出现次数超过一半的数字
  11. paip..net c# 调用JS JAVASCRIPT变量与方法
  12. “长江第一灯光秀”引关注 景观工程首次应用4G 路由
  13. modelica语言学习心得
  14. 2019年第十届蓝桥杯A组国赛(C/C++)
  15. 故障恢复控制台命令全攻略
  16. virt-manger创建虚拟机及virtio网卡
  17. google订阅消息推送
  18. 远程linux云主机,Linux实验室 远程连接Linux云主机方法
  19. 谱半径一定大于0_S11大于0怎么回事
  20. Solr简介,功能,特性

热门文章

  1. python学习: 如何循序渐进学习Python语言
  2. PHP 与 Perl 对照表
  3. 升级到BigSur无法使用git和brew解决办法
  4. raspberry pi_通过串行蓝牙从Raspberry Pi传感器单元发送数据
  5. 图像纹理合成_EnhanceNet:通过自动纹理合成实现单图像超分辨率
  6. 在linux下使用udev获取热插拔(hotplug)事件
  7. 联想王传东回应“宁愿放弃5G也不选华为”言论:纯属谣言
  8. Job 失败了怎么办?- 每天5分钟玩转 Docker 容器技术(133)
  9. 使用Hexo搭建博客步骤详解
  10. 豪华奢侈的中国作家代表大会