NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze: zrak nepřátel

V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
thetrol
Neregistrovaný
Avatar
thetrol:27.2.2014 18:19

dobrý den, dá se nějak udělat že pokud se hráč přiblíží k nepříteli na určitou vzdálenost tak nepřítel zaútočí?

 
Odpovědět
27.2.2014 18:19
Avatar
Odpovídá na
Zdeněk Pavlátka:27.2.2014 18:25
if(point_distance(player.x, player.y, enemy.x, enemy.y) < vzdalenost)
{
        // útok
}
Nahoru Odpovědět
27.2.2014 18:25
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Trolek33
Člen
Avatar
Odpovídá na
Trolek33:27.2.2014 18:27

Jde to, zde je kod který dej do objektu nepřítel:

if distance_to_ob­ject(hráč) < akční_vzdálenost {akce}
else
if distance_to_ob­ject(hráč) > vzdálenost_ja­ko_předtím {akce pří vzdálení}

Nahoru Odpovědět
-1
27.2.2014 18:27
Nic mě nenapadá XD
Avatar
Odpovídá na Trolek33
Zdeněk Pavlátka:27.2.2014 18:30

Druhá podmínka je zbytečná, stačí tam to else.

Nahoru Odpovědět
+2
27.2.2014 18:30
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
thetrol
Neregistrovaný
Avatar
thetrol:28.2.2014 6:46

dík, funguje to. ještě bych potřeboval aby zaútočil a pak počkal 2 sekundy než bude pokračovat.

 
Nahoru Odpovědět
28.2.2014 6:46
Avatar
Trolek33
Člen
Avatar
Odpovídá na
Trolek33:28.2.2014 7:18

Udělal bych to přes timeline, založ si timeline a tam mu nastav že se za 60 stepů vykoná akci útoku, poté si do objektu nepřítele nastav tam mezi ty svorky že vykoná útok, a pak tyhle příkazy:

timeline_index = jméno timeline
timeline_loop = true
timeline_running = true

Potom záleží čí verzi zdrojáku máš, ale musíš si nastavit že když nepřítel na hráče nebude útočit tak se vykoná tento příkaz, čímž timeline vypneš:

timeline_running = false

Nahoru Odpovědět
+1
28.2.2014 7:18
Nic mě nenapadá XD
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.