Prima di tutto vi informo che uso GM: Studio 1
Sto creando un personaggio che può evocare delle radici sotto i nemici, bloccandoli finchè le radici non spariscono. Il problema è che i nemici non si fermano quando le radici appaiono nelle loro posizioni, continuano a seguire il personaggio. Per i nemici ho usato il drag n drop "Move towards Point" nei loro step, mettendo la posizione del giocatore. Come faccio a fermarli quando entrano in contatto con le radici?
Fermare i nemici
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Fermare i nemici
L'ignoranza è la via per l'autodistruzione
Re: Fermare i nemici
Quando entrano in contatto con le radici ti basta impostare la speed del nemico a 0, "speed" è proprio una variabile standard di ogni instanza
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
- cp94
- Moderatore
- Messaggi: 2789
- Iscritto il: 04/07/2009, 19:18
- Specialità: ddd
- Località: Brescia
- Contatta:
Re: Fermare i nemici
Quando vai ad eseguire il codice che "sposta il nemico verso il player" ti basta fare un check preventivo se il nemico non sta collidendo con una radice.
Una cosa tipo:
Una cosa tipo:
Codice: Seleziona tutto
if (!instance_place(x, y, obj_radice)) {
// codice movimento nemico (move towards)
}
- MagicFool64
- Membro
- Messaggi: 77
- Iscritto il: 17/12/2018, 22:26
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Fermare i nemici
Succede l'opposto: i nemici sono fermi, e inseguono il personaggio solo quando toccano le radicicp94 ha scritto:Quando vai ad eseguire il codice che "sposta il nemico verso il player" ti basta fare un check preventivo se il nemico non sta collidendo con una radice.
Una cosa tipo:Codice: Seleziona tutto
if (!instance_place(x, y, obj_radice)) { // codice movimento nemico (move towards) }
ecco lo script che ho usato
Codice: Seleziona tutto
if (!instance_place(x, y, obj_root)) {
move_towards_point( obj_viking.x, obj_viking.y, 0 );
}
L'ignoranza è la via per l'autodistruzione
Re: Fermare i nemici
Non sono una cifra col codice ma a livello di logica tu stai dicendo " se in quelle coordinate non ci sono le radici, segui il player a velocità '0' "MagicFool64 ha scritto:Succede l'opposto: i nemici sono fermi, e inseguono il personaggio solo quando toccano le radicicp94 ha scritto:Quando vai ad eseguire il codice che "sposta il nemico verso il player" ti basta fare un check preventivo se il nemico non sta collidendo con una radice.
Una cosa tipo:Codice: Seleziona tutto
if (!instance_place(x, y, obj_radice)) { // codice movimento nemico (move towards) }
ecco lo script che ho usatoCodice: Seleziona tutto
if (!instance_place(x, y, obj_root)) { move_towards_point( obj_viking.x, obj_viking.y, 0 ); }
In ogni caso devi settare anche un 'else', per fare in modo che l' IA del nemico sia "viva"(che faccia un check continuo) e impostargli un' azione.
Mi tuffo:
Codice: Seleziona tutto
if (instance_place(x, y, obj_root)) {
move_towards_point( obj_viking.x, obj_viking.y, 0 );
}
else
move_towards_point( obj_viking.x, obj_viking.y, 5 );
Chi c’è in linea
Visitano il forum: Nessuno e 17 ospiti