Diskuze: zrak nepřátel

Ostatní jazyky GameMaker GameMaker zrak nepřátel

Avatar
thetrol
Neregistrovaný
Avatar
thetrol:

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
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na thetrol
Zdeněk Pavlátka:
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 thetrol
Trolek33:

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
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Trolek33
Zdeněk Pavlátka:

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:

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 thetrol
Trolek33:

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.