Check del warp col muro
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Check del warp col muro
Ciao ragazzi, sono ancora qui xD ... mi servirebbero dei consigli per un codice che controlli che quando premo il tasto di warp (del player), il gioco non me lo faccia fare se dovessi finire contro il muro. Forse non mi sono spiegato bene, sorry... Grazie a chiunque risponda
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Check del warp col muro
Codice: Seleziona tutto
if (position_empty(xx, yy)) {
x = xx;
y = yy;
}
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Re: Check del warp col muro
Dove devo mettere questo codice? Per caso dove faccio i check per controllare se il tasto del warp è stato premuto?
Tipo:
Giusto?
Tipo:
Codice: Seleziona tutto
if (keyboard_check_pressed(ord("W"))) && (position_empty (xx,yy))
{
x = xx ;
y = yy ;
obj_player.y -= 50;
}
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Check del warp col muro
Non ti rimane che testare.
P.S.
Perché hai inserito quel "obj_player.y -= 50;"? Se controlli una determinata posizione, e poi vuoi spostare il player a y-50 rispetto a quella posizione, il controllo non ha più senso... E comunque puoi risparmiarti quella riga modificando quella precedente con "Y = yy-50;".
P.S.
Perché hai inserito quel "obj_player.y -= 50;"? Se controlli una determinata posizione, e poi vuoi spostare il player a y-50 rispetto a quella posizione, il controllo non ha più senso... E comunque puoi risparmiarti quella riga modificando quella precedente con "Y = yy-50;".
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Re: Check del warp col muro
Ok, grazie
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Re: Check del warp col muro
Scusami, Vallo92, provo a essere più chiaro...il mio personaggio una volta preso un powerup chiama uno script per il teletrasporto in cui viene detto che cliccando W il mio personaggio si teletrasporta di 100 px. verso l'alto solo se la posizione in cui andrà è vuota...e così via per tutte e 4 le direzioni... il codice che ho scritto è questo, ma funziona solo se non inserisco il check position_empty... puoi aiutarmi per favore?
Codice: Seleziona tutto
var xx,yy ;
if (keyboard_check_pressed(ord("W"))) && (position_empty(xx,yy))
{
x = xx ;
y = yy - 50 ;
}
//Eccetera eccetera per tutte le direzioni, come ho detto
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Check del warp col muro
Prova a rileggere il tuo codice attentamente. Hai assegnato dei valori a xx e yy? Se non lo hai fatto come fa GM a sapere che posizione deve controllare?
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Re: Check del warp col muro
Quindi prima dell' if devo aggiungere xx = x e yy = y? E nell'if elimino la coordinata che non serve per quella posizione e scrivo yy -= 50? Non credo vada bene ma spero ci sia speranza xD. Che dici? Grazie tante.
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Check del warp col muro
Se imposti xx = x e yy = Y, al momento del controllo il "position_empty" controllerà le coordinate del pg che aveva hai assegnato il valore alle variabili.... Così non funzionerà.
Non è che non voglio spiattellarti la soluzione da copiare e incollare perché sono cattivo, ma visto che il procedimento è molto semplice, sto cercando di spronarti a ragionare e capire quello che devi fare.
Proviamo a fare una cosa: Sapendo che puoi utilizzare un "position_empty" per risolvere il tuo problema, prova a pensare e a scrivere un codice a parole. Qualcosa del genere:
Vediamo se riusciamo a trovare la soluzione in questo modo insieme. Una volta trovata la soluzione a parole trasformeremo tutto in codice!
Non è che non voglio spiattellarti la soluzione da copiare e incollare perché sono cattivo, ma visto che il procedimento è molto semplice, sto cercando di spronarti a ragionare e capire quello che devi fare.
Proviamo a fare una cosa: Sapendo che puoi utilizzare un "position_empty" per risolvere il tuo problema, prova a pensare e a scrivere un codice a parole. Qualcosa del genere:
Codice: Seleziona tutto
Inizializzo le variabili xx e yy
Controllo la pressione del tasto W
Se il tasto W è premuti allora... etc
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Re: Check del warp col muro
In quanto a gentilezza e cortesia non vi batte nessuno su questo forum...non so come ringraziarti
se il tasto W è stato premuto e la posizione che il player OCCUPERA' (non occupa...forse la scoperta più grande che abbia mai fatto xD) è vuota
{
diminuisci la coordinata y di 100
}
ergo :
Forse è l'ennesimo tentativo fallito, sorry se ti faccio perdere un po' di tempo
se il tasto W è stato premuto e la posizione che il player OCCUPERA' (non occupa...forse la scoperta più grande che abbia mai fatto xD) è vuota
{
diminuisci la coordinata y di 100
}
ergo :
Codice: Seleziona tutto
var xx,yy ;
if (keyboard_check_pressed(ord("W"))) && position_empty (xx,yy-100)
{
y-= 100 ;
}
- dt_3_dt
- Membro super
- Messaggi: 608
- Iscritto il: 03/10/2010, 16:47
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: Check del warp col muro
le variabili xx e yy non ti servono basta che fai così:Kami_Ender ha scritto:In quanto a gentilezza e cortesia non vi batte nessuno su questo forum...non so come ringraziarti
se il tasto W è stato premuto e la posizione che il player OCCUPERA' (non occupa...forse la scoperta più grande che abbia mai fatto xD) è vuota
{
diminuisci la coordinata y di 100
}
ergo :Forse è l'ennesimo tentativo fallito, sorry se ti faccio perdere un po' di tempoCodice: Seleziona tutto
var xx,yy ; if (keyboard_check_pressed(ord("W"))) && position_empty(xx,yy-100) { y-= 100 ; }
Codice: Seleziona tutto
if (keyboard_check_pressed(ord("W"))) && position_empty (x,y-100) {
y -= 100 ;
}
Codice: Seleziona tutto
if (keyboard_check_pressed(ord("W")) && position_empty (x,y-100)) {
y -= 100 ;
}
Ultima modifica di dt_3_dt il 11/09/2015, 8:05, modificato 1 volta in totale.
-
- Membro
- Messaggi: 62
- Iscritto il: 08/06/2015, 12:18
Re: Check del warp col muro
Vabbè il mio codice era comunque corretto giusto? Comunque grazie, e grazie soprattutto a Vallo che ha avuto la pazienza dicfarmi ragionare
- dt_3_dt
- Membro super
- Messaggi: 608
- Iscritto il: 03/10/2010, 16:47
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: Check del warp col muro
Era sbagliato perché non assegnavi nessun valore ad xx e yy, per essere giusto doveva essere cosìKami_Ender ha scritto:Vabbè il mio codice era comunque corretto giusto? Comunque grazie, e grazie soprattutto a Vallo che ha avuto la pazienza dicfarmi ragionare
Codice: Seleziona tutto
var xx = x,yy = y;
if (keyboard_check_pressed(ord("W")) && position_empty (xx,yy-100)) {
y-= 100 ;
}
- Vallo92
- GMI Advanced
- Messaggi: 1508
- Iscritto il: 15/07/2011, 20:26
- Specialità: Grafico
- Uso: GM:Studio 2
- Contatta:
Re: Check del warp col muro
Nel post iniziale non avevi specificato che il pg si doveva spostare semplicemente di y-100, quindi stavo adottando un altro sistema. Il codice di dt è perfetto e non devi nemmeno utilizzare le variabili xx e yy che non riuscivi a capire!
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si
Chi c’è in linea
Visitano il forum: Nessuno e 116 ospiti