Geometry Dash
Gra jest klonem popularnej gry rytmiczno-zręcznościowej "Geometry Dash". Gracz steruje sześcianem, który automatycznie przesuwa się w prawą stronę. Celem gry jest unikanie przeszkód (trójkątów/kolców) poprzez skakanie oraz dotarcie do końca poziomu. Gra posiada system poziomów trudności oraz mechaniki zmieniające perspektywę kamery. Zasada działania: Postać i kamera poruszają się w prawo ze stałą prędkością. Gracz klika myszką, aby wykonać skok (i obrót). Kolizja z przeszkodą resetuje poziom, a dotarcie do mety przenosi do menu.
Written By Coder Matthew
Last updated 6 months ago
1) Grafiki i Zasoby użyte w Geometry Dash
Poniżej znajdują się kluczowe elementy wizualne widoczne w folderze Assets/Materials oraz na scenie.





2) Hierarchia w Unity

Oto rekonstrukcja struktury obiektów na scenie gry (na podstawie logiki skryptów):
Main Camera
Odpowiada za widok. Porusza się w prawo.
Posiada skrypt Camera, który wymusza ciągły ruch w osi X.
Gamer / Human (Gracz)
Niebieski sześcian.
Posiada komponent
Rigidbody2D(fizyka).Posiada skrypt Human (sterowanie skokiem i obrotem).
Posiada skrypt over (wykrywanie kolizji z przeszkodami i metą).
Level Environment (Środowisko)
Ground: Podłoga, po której porusza się gracz.
Obstacles: Obiekty z tagiem
Przeszkoda(kolce).Jump Pads: Obiekty z tagiem
Jump(wybijają gracza).Triggers: Obiekty z tagami
Camer(obrót kamery) lubEnd(koniec poziomu).
Canvas (UI)
Button: Przyciski w menu (Start, Easy, Medium, Hard).
Text (TMP): Tytuł gry "My Geometry Dash".
3) Skrypty użyte w Geometry Dash
W projekcie wykorzystano zestaw skryptów odpowiedzialnych za ruch, fizykę i zarządzanie stanem gry.
1. Human (Sterowanie Graczem)
Odpowiada za ruch postacie i mechanikę skoku.
Ciągły ruch: W
Updateprzesuwa postać w prawo.Skok: Po kliknięciu myszką (
Input.GetMouseButton(0)), sprawdza, czy gracz jest na ziemi (używając sztywnych koordynatów Y:< -1.8i> -2.1). Jeśli tak, nadaje prędkość pionową (linearVelocity).Efekt obrotu: Uruchamia korutynę
RotateMe, która obraca kostkę o 180 stopni podczas skoku, dodając dynamiki.
2. Camera (Śledzenie)
Prosty skrypt sprawiający, że kamera podąża za akcją.
Przesuwa obiekt kamery w prawo z taką samą prędkością bazową co gracz, zapewniając, że postać jest zawsze w kadrze.
3. over (Kolizje i Interakcje)
Najbardziej rozbudowany skrypt logiczny, przypięty do gracza. Obsługuje zdarzenia OnTriggerEnter2D:
Śmierć: Tag
Przeszkodaładuje scenę "Over" (Game Over).Meta: Tag
EndlubPrzeszkoda_hard(zależnie od logiki) wraca do Menu.Trampolina: Tag
Jumpwybija gracza w górę.Efekty Kamery: Tag
Camerobraca kamerę o 180 stopni (do góry nogami), acenterprzywraca ją do normy.
4. menu & Scene Management
Zestaw skryptów do obsługi UI i zmiany scen:
menu.cs: Obsługuje przyciski w głównym menu (wybór poziomu trudności:
easy,medium,hardoraz wyjście z gry).NewBehaviourScript.cs: Prosty loader sceny "Maind" (podpięty pod przycisk Start).
NewBehaviourScript1.cs: Globalny "kliknij by zrestartować/wrócić" – ładuje scenę "Start" po kliknięciu myszką.
4) Całe skrypty
Poniżej znajdziesz kompletny kod gry, podzielony na pliki, gotowy do wklejenia.
Exampleusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Camera : MonoBehaviour
{
public float movespeed = 3f;
void Update()
{
transform.position += new Vector3(1 * Time.deltaTime * movespeed, 0, 0);
}
}