Zdravím všechny čtenáře, dnes je tady další díl „Jak vytvořit vaši první hru“ v GameMakeru, a podíváme se na umělou inteligenci.
– takhle by měla po dnešku vypadat vaše místnost.
Malé úpravy předchozího kódu
Jako první musíme trochu upravit objekt Hrac.
Ve step eventu, změníme kousek kódu na:
if keyboard_check(vk_up) {
vspeed=-15
}
else
{
gravity=0
vspeed=0
}
Poté nastavíme ikonku „If there is a collision at a position“ (nebo také Check Collision) na hodnoty „X: x, Y: y-10″. A přidáme ikonku „Set the vertical speed“ (Speed vertical) tu najdeme v záložce Move – nastavíme ji na 0.
Poté ještě upravíme eventy Left a Right jako na obrázku – přidáme kontrolu kolize ( „If there is a collision at a position“ (nebo také Check Collision)), kterou nastavíme na „X: x-5, Y:y-5″ pro event Left a „X: x+5, Y:y-5″ pro event Right. Bude nám kontrolovat jestli není ve směru našeho pohybu nějaká zeď / země. Vytvoříme bloky jako na obrázku – do prvního přidáme ikonku „set the horizontal speed“ s hodnotou 0, v druhém bloku bude stejná ikonka s předchozí hodnotou, jaká tam byla z minule – ( -5 pro event left a 5 pro event right).
Vytvoření nepřátel
Abychom mohli vložit nepřítele, musíme vytvořit jeho sprite (obrázek), takže jej vytvořte a pojmenujte libovolně (např. „enemik“). Obrázek můžete stáhnout z článku (první obrázek v článku) a použít.
Poté vytvoříme objekt pojmenovaný „nepritel“ – zvolíme mu příslušný sprite a vytvoříme dva eventy – create a step.
Do eventu create vložíme ikonku Move Fixed (start moving in a direction) – zvýrazněna na obrázku, klikneme na šipku doleva a doprava a „speed“ zvolíme 2. Potvrdíme OK. To zajistí, že se nepřítel začne po startu pohybovat nalevo nebo napravo rychlostí dva.
V eventu step to bude složitější – bude sloužit k tomu, aby nám nepřítel neutekl, nebo nespadl. Opět podle obrázku vytvořte –
- vložte ikonku Check Empty (if a position is collision free) – najdete ji v záložce control. Nastavte ji na „X:x+30 Y:y+15″. Potvrďte OK.
- vytvořte bloky (opět v záložce kontrol)
- vložte mezi ně ikonku Reverse Horizontal (Reverse Horizontal direction) – obrací směr pohybu
- vložte druhou ikonku Check Empty (if a position is collision free) – najdete ji v záložce control. Nastavte ji na „X:x-30 Y:y+15″. Potvrďte OK.
- vytvořte bloky (opět v záložce kontrol)
- vložte mezi ně ikonku Reverse Horizontal (Reverse Horizontal direction)
Otevřete opět soubor Hrac. Vytvořte event „Collision“ s objektem „nepritel“ a vložte ikonku Restart the game.
Nyní zbývá jen nepřátele doplnit do vaší místnosti (room) a spustit hru. Kdyby jste měli dotazy, nebojte se zeptat.
Stáhnout projekt můžete zde: Project1