Az ellenség már a kapuban van

G-Ball
sztrovacsek
2021-04-09 · 19:04
Na, megérkezett az első ellenfelünk is, egy kapus személyében. Ő ugyanúgy az alap Player objektumból származik, de a saját játékosainkra vonatkozó kódot nem kapja meg, csak a közöset. Magyarul, ugyanazok az alaptulajdonságai vannak (van neve, száma, ereje, sebessége, stb), mint a többi játékosnak, viszont irányítani már nem tudjuk - illetve, pontosabban, mozgatni nem tudjuk, de a labdát ki tudjuk rúgni vele, később ezt is magától fogja csinálni.


Az alábbi kódrészlettel tudjuk megadni, hogy a kapus kódja, az alap kódot egészítse ki:

extends "res://player/BasePlayer.gd"


Az alaphoz túl sok mindent nem kell hozzáadni egyelőre, csak pár dolgot módosítunk a már meglévő kódon, hogy gyorsabban tudjon odaérni a labdához, de a kapu közeléből ne menjen el:

func _physics_process(delta):
    if current:
        velocity = move_and_slide(velocity) * 100
        if !has_ball && global_position.distance_to(self.get_node(post_position).global_position) < 150.0:
            run_towards(Global.Ball.global_position, 150)
    else:
        run_towards(self.get_node(post_position).global_position, 50)
	
    current = true if (Global.nearest_player == self) else false


A játékosok kaptak az OpenGameArt-ról egy kis grafikai tuningot, hogy látni lehessen, hogy ki merre megy - ez még nincs teljesen kész, ez lesz a következő rész témája, mielőtt megérkezik a többi ellenfél is.