Ievads Godot // un C#
Iepazīsti Godot 4 spēļu dzinēju un raksti spēles loģiku C# valodā
Godot .NET vidē. Sešās stundās izveido pabeigtu Pong spēli ar savu dizainu un sacensības stāstu.
6 stundas - tēmas saturs
Viens projekts no pirmās scēnas līdz partijai ar punktiem, uzvaru un atkārtotu spēli.
Kā strādāt ar šo tēmu: katrā stundā vispirms ir īsa teorija, pēc tam uzreiz viena redzama darbība Godot projektā. Nevajag turēt galvā visu projektu - pietiek pabeigt nākamo mazo kontrolpunktu.
Fokusa kārtība: izveido projektu → saliec redzamus objektus → pārbaudi C# vidi → apraksti raketes datus → ievies kustību → pabeidz spēli un savu noformējumu. Ja kaut kas nobrūk, atgriezies pie pēdējā Gatavs, kad punkta.
Godot instalācija un projekta sagatavošana
Uzstādi Godot 4 .NET, izveido jaunu projektu un iepazīsti editor izkārtojumu.
Scene Tree un Node sistēma
Izveido redzamas rakešu un bumbas scēnas, sadursmju formas un instances.
C# un .NET sagatavošana
Pārbaudi .NET SDK un izveido BuildCheck.cs; kompilē un palaid savu kodu.
Pirmais C# skripts: mainīgie un izvade
Izveido Paddle.cs ar datiem, izdruku un atšķirīgiem abu spēlētāju iestatījumiem.
Spēles laukuma izveide
Pievieno sienas, abu rakešu vadību un bumbas kustību ar atlēkšanu.
Noslēguma projekts: Pong
Pabeidz punktus, servi, uzvaru un jaunu partiju; veido savu dizainu un stāstu.
Sešu stundu ceļš līdz savai Pong spēlei
Katrā stundā turpini to pašu projektu. Trīs pamatuzdevumiem ir pārbaudāms rezultāts; izvēles paplašinājumu veic pēc pamatdarba.
| Stunda | Ko pievieno | Pārbaudes rezultāts |
|---|---|---|
| 1.1 | Pong projekts, Main.tscn, Git | F5 atver spēles logu, projekta faili saglabāti GitHub. |
| 1.2 | Paddle.tscn, Ball.tscn un instances | Redzamas divas raketes un bumba, formas sakrīt ar izskatu. |
| 1.3 | SDK un BuildCheck.cs | Build izdodas, F5 laikā ir C# izdruka. |
| 1.4 | Paddle.cs dati | Katra rakete izdrukā savu nosaukumu un ievades darbības. |
| 1.5 | Sienas, Input Map, kustība un atlēkšana | Abi spēlētāji vada raketes; bumba atlec un pamana iziešanu. |
| 1.6 | Game.cs, HUD, savs dizains un stāsts | Partija līdz 5 punktiem, pareizs uzvarētājs, R jaunai partijai. |
Pamatdarbs: pilna divu spēlētāju spēle ar redzamām norādēm, Space pirms serves un R restartēšanai. Papildu izvēlnes, skaņas vai datorvadīts pretinieks ir turpmāki paplašinājumi.
Tava izvēle: nosaukums, komandas, pasaule, bumbas nozīme, krāsas un uzvaras stāsts. 6. stundas apkopojumā pamato savu dizainu un to, kā ideja redzama spēlē.
Pilns Pong piemērs (ZIP) · Palaišanas norādes · Skolotājam: izvērtējums
1. tēmas špikeris — projekta noteikumi
Pilnos koda failus un precīzas ievietošanas vietas skati attiecīgajās stundās.
1.1 Saglabā projektu
Godot .NET; 1280 × 720; Compatibility; canvas_items ar keep proporcijām. Galvenā scēna res://Scenes/Main.tscn. F5 palaiž projektu, F6 atvērto scēnu. Git saglabā iestatījumus, scēnas, skriptus un resursus; .godot, bin un obj ignorē. Commit ir lokāls, Publish/Push nosūta uz GitHub.
1.2 Scēna un instance
Paddle.tscn un Ball.tscn saknes ir CharacterBody2D, bērni — Visual (Polygon2D) un CollisionShape2D. Main instancēm pozīcijas (60,360), (1220,360), (640,360). Scēnas izmaiņa attiecas uz abām raketēm; instances iestatījums — uz konkrēto raketi.
1.3 C# vide
Vajadzīgs atsevišķs .NET SDK. dotnet --list-sdks pārbauda instalāciju. Pirmais C# skripts izveido projekta failus; tikai tad lieto dotnet build no mapes ar .csproj. Faila un klases nosaukumiem jāsakrīt; klasei vajag partial un atbilstošu Godot bāzes tipu.
1.4 Dati un Inspector
float — Speed; string — InputUp/InputDown; bool — IsActive; int — punkti; Vector2 — pozīcija vai ātrums. Pēc Export maiņas nospied Build. Inspector saglabāta vērtība var pārrakstīt koda noklusējumu.
1.5 Kustība un sadursmes
W/S → p1_up/p1_down; ↑/↓ → p2_up/p2_down. Rakete lieto Velocity un MoveAndSlide bez papildu delta. Bumba lieto MoveAndCollide(Velocity × delta) un Bounce. Sienas: Layer 1, Mask nav; raketes: Layer 2, Mask 1; bumba: Layer 3, Mask 1 un 2. Tie ir Inspector ķeksīšu numuri.
1.6 Pilns spēles cikls
Bumba pa labi → punkts kreisajam; pa kreisi → labajam. ResetBall nodzēš ExitSide un atgriež bumbu centrā. Space sāk nākamo izspēli. Pie 5 punktiem parādās uzvarētājs un kustība apstājas; R pārlādē scēnu ar 0 : 0. Main laukos pielāgo nosaukumu, komandas un stāsta tekstus; veido savu noformējumu.