›_ ebskola.lv
sākt stundu
Prog II · 1. tēma · 6 stundas - Godot 4 · C++ · GDExtension

Ievads Godot // un C++

Iepazīsti Godot 4 spēļu dzinēju un raksti spēles loģiku C++ valodā caur GDExtension. Tēma noslēdzas ar klasiskās arkādes spēles Pong izveidi.

6 stundas C++ · GDExtension Godot 4 dzinis projekts Pong
GDExtension C++ · SCons Godot 4 dzinis
# 01 stundas

6 stundas - tēmas saturs

No Godot instalācijas un Scene Tree līdz Pong spēles C++ implementācijai.

kursa pārskats
# 02 špikeris

C++ GDExtension špikeris

Klases deklarācija, _bind_methods, _process un īpašību reģistrācija.

prog2_1/pong_ball.h
pong_ball.h pong_ball.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// pong_ball.h - minimālais GDExtension header #ifndef PONG_BALL_H #define PONG_BALL_H #include <godot_cpp/classes/node2d.hpp> using namespace godot; class PongBall : public Node2D { GDCLASS(PongBall, Node2D) private: Vector2 speed = {200, 150}; protected: static void _bind_methods(); public: void _process(double delta) override; void atgriezties(); }; #endif
● C++ · GDExtension UTF-8
ElementsNozīmePiemērs
GDCLASS(T, B)Reģistrē klasi Godot sistēmāGDCLASS(PongBall, Node2D)
_bind_methods()Saista C++ metodes ar GodotClassDB::bind_method(...)
_process(double d)Katrā kadrā izsauktsset_position(get_position() + v * d)
_physics_process(double d)Fizikas kadrā (fiksēts)move_and_slide()
D_METHOD("nosaukums")Metodes nosaukums Godot pusēD_METHOD("atgriezties")
ADD_PROPERTYEksponē mainīgo inspektoramADD_PROPERTY(PropertyInfo(Variant::FLOAT, "speed"), ...)
ClassDB::bind_methodSaista metodi ar D_METHODClassDB::bind_method(D_METHOD("f"), &T::f)
void PongBall::_process(double delta) { /* spēles cikls */ } // C++ GDExtension - spēles loģika kompilētā bibliotēkā