📜  Godot中使用的语言(1)

📅  最后修改于: 2023-12-03 15:01:01.098000             🧑  作者: Mango

Godot中使用的语言

简介

Godot是一款开源游戏引擎,支持许多不同的编程语言。在Godot中实现游戏逻辑或进行自定义编辑器的开发时,可以选择使用你所熟悉的语言。

Godot提供了多种编程语言,包括但不限于:

  • GDScript
  • C#
  • C++
  • VisualScript
GDScript

GDScript是Godot内置的脚本语言。它具备Python的语法特性,却同时拥有胶水代码的执行效果。非常适合在Godot中进行快速原型制作和迭代开发。

extends Node2D

var speed = 100

func _process(delta):
    var move_vector = Vector2.ZERO
    move_vector.x = Input.get_action_strength("ui_right") - Input.get_action_strength("ui_left")
    move_vector.y = Input.get_action_strength("ui_down") - Input.get_action_strength("ui_up")

    position += move_vector.normalized() * speed * delta
C#

Godot支持C#,并使用Mono作为其C#运行时。C#在Godot中使用与C++相同的API,但具有不同的语言特性。C#在性能和开发效率方面比C++略逊一些,但它是一种更易于使用和学习的语言。C#可以使用提供的Godot API,以实现在游戏中调用C#代码。

using Godot;
using System;

public class Player : Node2D
{
    private float _speed = 100f;

    public override void _Process(float delta)
    {
        Vector2 moveVector = Vector2.Zero;
        moveVector.x = Input.GetActionStrength("ui_right") - Input.GetActionStrength("ui_left");
        moveVector.y = Input.GetActionStrength("ui_down") - Input.GetActionStrength("ui_up");
        
        Position += moveVector.Normalized() * _speed * delta;
    }
}
C++

C++是一种高性能的、广泛使用的、通用的编程语言。对于对性能有要求的项目,C++是Godot中的最佳选择。C++在Godot中使用与GDScript和C#相同的API。

#include <Godot.hpp>
#include <Node2D.hpp>

using namespace godot;

class Player : public Node2D
{
private:
    float _speed = 100.0f;

public:
    static void _register_methods()
    {
        register_method("_process", &Player::_process);
    }

    void _process(float delta)
    {
        Vector2 moveVector = Vector2::ZERO;
        moveVector.x = Input::get_action_strength("ui_right") - Input::get_action_strength("ui_left");
        moveVector.y = Input::get_action_strength("ui_down") - Input::get_action_strength("ui_up");

        set_position(get_position() + moveVector.normalized() * _speed * delta);
    }
};

Godot::register_class<Player>();
VisualScript

VisualScript是一种类似于蓝图的可视化编程语言。它为不熟悉编程语言的用户提供了一种简单的方式,以创建游戏逻辑和连接节点。VisualScript在Godot中的开发效率非常高,但它的可读性和可维护性不及GDScript和C#。

VisualScript示例

以上是Godot支持的主要编程语言。在项目的生命周期中,可以根据需求优先选择适合的编程语言。在Godot中,可以创建包含多种语言的混合项目,以满足不同领域之间的开发需求。