GDScript
Awesome links
Basic Syntax
Comments
Variables
var my_variable = 10
var my_string = "Hello, World!"
var my_array = [1, 2, 3]
var my_dictionary = {"key": "value"}
Constants
Data Types
Basic Types
var my_int: int = 10
var my_float: float = 3.14
var my_bool: bool = true
var my_string: String = "Godot"
Vectors and Colors
var my_vector2: Vector2 = Vector2(10, 20)
var my_vector3: Vector3 = Vector3(10, 20, 30)
var my_color: Color = Color(1, 0, 0) # Red color
Functions
Defining Functions
Built-in Functions
Flow Control
Conditionals
if my_variable > 10:
print("Greater than 10")
elif my_variable == 10:
print("Equal to 10")
else:
print("Less than 10")
Loops
For Loop
While Loop
Classes and Objects
Defining a Class
extends Node
class_name MyNode
var my_variable: int
func _init():
my_variable = 10
func my_method():
print("My variable is: ", my_variable)
Inheritance
Signals
signal my_signal
func _ready():
emit_signal("my_signal")
func _on_MyNode_my_signal():
print("Signal received")
Connecting Signals
Input Handling
func _input(event):
if event is InputEventKey:
if event.pressed:
print("Key pressed: ", event.scancode)
Example
Complete Example
extends Node2D
signal my_signal
var my_variable: int = 10
func _ready():
connect("my_signal", self, "_on_MyNode2D_my_signal")
emit_signal("my_signal")
print("Node is ready")
func _process(delta):
my_variable += 1
print("Frame time: ", delta, ", Variable: ", my_variable)
func _on_MyNode2D_my_signal():
print("Signal received")
For more details, refer to the Godot Engine documentation.