Continuăm seria de lecții - elementele de bază ale creării de jocuri în producatorul de jocuri. Astăzi ne vom uita la modul de a face cea mai simplă tehnică de împușcare - cum să faceți o lovitură.
Treceți treptat la Game Maker Studio 2, așa că o vom face acolo, deși diferența este minimă.
Că lecția nu a fost prea simplă, vom încerca versiuni diferite de fotografii, dintr-o lovitură de presiune, până la izbucniri și o lovitură cu zona de înfrângere.
Cum se face acest lucru, de exemplu, în jocul crimsonland, dacă a fost făcut în GMS2?
De fapt, avem nevoie de o cameră și de 3 obiecte - un erou, un glonț și un inamic. Spreteste-le.
Când faceți clic pe butonul stâng al mouse-ului (global).
În general, avem destule din acest lucru:
instanta_create_depth (x, y, 0, obj_bullet) Restul este deja un bloc (astfel incat nu sunt create multe gloante simultan), si cea de jos 2 alarma, doar ca fac o coada. Nu prea este necesar.
Codul de mișcare la cursorul mouse-ului când creați un glonț:
move_towards_point (mouse_x, mouse_y, 50) -50 + aleatoare (100) este împrăștierea la fotografiere, dacă aveți nevoie de ea, o puteți face așa.
50 este viteza glonțului. Destul de repede, de obicei, eu fac aproximativ 15-30, în funcție de tipul de arme și joc (depinde de FPS).
Cum de a face ca inamicul să moară la atingerea unui glonț? Dacă este destul de simplu:
Aici dușmanul și glonțul mor. De asemenea, nu uităm să ucidem glonțul, în caz contrar el va zbura prin dușmani și va urina totul (ceea ce este uneori necesar, dar atunci daunele vor fi numărate de mai multe ori, ia în considerare acest lucru dacă există un sistem de HP și daune).
instance_destroy (auto)
instance_destroy (other) Da, asta e! Acesta este felul în care se face fotografia.
- Eroul creează un glonț când faceți clic pe mouse (sau oriunde doriți)
- Glonțul zboară spre locul în care se află mouse-ul (ori oriunde doriți)
- Glonțul îl ucide pe inamic sau îl tratează.
Cum de a face daune și sistemul HP? Un subiect ușor diferit, dar dacă este făcut simplu:
În crearea inamicului: hp = 100
Puteți, de exemplu, încă: armura = 5
Atunci când coliziune (coliziune) gloanțe și inamicul:
Una dintre căi. În acest caz, trebuie să înregistrăm daunele în piscină atunci când le creăm. Puteți face acest lucru cu o variabilă globală (global.damage) și setați daunele pe baza competenței, distanței de zbor, a armelor și a altora.
Vedeți codul sursă pentru Lonely Dude. chiar și daune în funcție de distanță variază.
Da daune cum ar fi 10, și armura 5, atunci daunele vor fi împărțite 5.
Cum de a ucide? Acolo, în coliziunea gloanțelor și a inamicului, scriem:
instance_destroy (self) // nu uităm să ucizi și glontul other.hp- = self.damage-other.armor
dacă alt.hp<=0 then instance_destroy(other)
Aici, deși acesta este un subiect ușor diferit.
Cum de a face un glonț zbura prost să zboare până sus?
Atunci când creați un glont scrie vspeed- = 10 (Sau un alt număr / variabilă)