direzione dei proiettili

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

direzione dei proiettili

Messaggio da apashee »

sono un novellino di game maker e ho un problema che cerco di risolvere da alcuni giorni, non riuscendo proprio da solo, chiedo a voi:

sto creando un gioco in cui una navicella nello spazio deve evitare asteroidi e prendere punti, ogni volta che prende punti nascono nuovi asteroidi (non è granchè come idea, ma buona per fare un po' di palestra immagino);

visto che sono riuscito a farlo più o meno decentemente, volevo creare un'altra modalità, in cui, come nel classico gioco (di cui però non ricordo il nome preciso), all'inizio ci sono pochi grandi asteroidi che, se colpiti, si dividono in asteroidi più piccoli.

il mio problema è la direzione da dare ai proiettili, ovvero:

io ho scritto ciò nell'evento step del proiettile

speed=15;

if (keyboard_check(vk_up))
{direction=90};

if (keyboard_check(vk_down))
{direction=270};

if (keyboard_check(vk_left))
{direction=180};

if (keyboard_check(vk_right))
{direction=0};

la cosa positiva è che quando vengono sparati i proiettili vanno nella direzione che voglio, ovvero quella della nave; la cosa negativa è che quando la nave si muove cambia la direzione dei proiettili, anche quelli già sparati.

spero di essere stato chiaro e di non aver ripetuto una domanda presente altrove (ho provato a cercare ma non ho trovato nulla)

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: direzione dei proiettili

Messaggio da Tizzio »

Il gioco da te citato si chiama "Asteroids" :lol:

Comunque, il programma sta facendo esattamente quello che gli dici.

Quindi tu in realtà vuoi che il proiettile imposti la sua direzione QUANDO VIENE CREATO...
questa frase dovrebbe farti capire che devi settare la direzione del proiettile una sola volta.


nell'evento CREATE del proiettile metti

Codice: Seleziona tutto

direction=obj_navicella.direction;

il "punto" significa Accedere a una variabile dell'oggetto in questo caso chiamato obj_navicella...
non so come tu l'abbia chiamato.
Questo codice setterà la direzione del proiettile uguale a quella della navicella.

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

ci avevo pensato anche io, ho riprovato adesso, ma l'errore che mi dà è che non conosce la variabile direction della nave, e in effetti io non l'ho scritta, la nave semplicemente si muove quando schiaccio una freccia, tipo nell'evento left ho messo x-=8, senza dargli nessuna direzione, se no non si ferma quando lascio la freccia sinistra..

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

però ho in parte risolto scrivendo quello che ho scritto prima con i 4 if nell'evento create. l'unico problema è che ora se sto fermo spara a destra, perchè ovviamente non gli ho detto diversamente. come faccio a dirglielo?

grazie per la tua attenzione

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: direzione dei proiettili

Messaggio da Tizzio »

apashee ha scritto:però ho in parte risolto scrivendo quello che ho scritto prima con i 4 if nell'evento create. l'unico problema è che ora se sto fermo spara a destra, perchè ovviamente non gli ho detto diversamente. come faccio a dirglielo?

grazie per la tua attenzione
che versione di gm usi?
direction è una variabile integrata, mi sembra strano che non la conosca...
(direction... non Direction o DiReCtIoN DirectioN et similia ...tanto per chiarire eventuali equivoci :lol: )

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

8.0
sì, direction scritto direction, ma se ho capito bene, non settandola la mette = 0 e quindi verso destra (ed è infatti ciò che fanno i proiettili se faccio come dici tu)

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: direzione dei proiettili

Messaggio da Tizzio »

apashee ha scritto:8.0
sì, direction scritto direction, ma se ho capito bene, non settandola la mette = 0 e quindi verso destra (ed è infatti ciò che fanno i proiettili se faccio come dici tu)
vero... :fapensare:
tu la nave coma la fai volare?
(nelle 4 direzioni?)

se sì basta che quando cambia direzione metti

Codice: Seleziona tutto

if(keyboard_check(blabla)) { direction=0; /*destra*/}
poi anche per le altre direzioni
.....direction=90
..........180
........270
ecc..

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

ora provo

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

funge!!! grazie!

Avatar utente
Tiger
GMI Guru
Messaggi: 2626
Iscritto il: 07/08/2011, 14:01
Specialità: Usare i siti porni
Uso: GM:Studio 1.4 Master
Contatta:

Re: direzione dei proiettili

Messaggio da Tiger »

Usa il tasto edit.Hai fatto multipost già due volte...
ImmagineImmagine

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

:spat: ok, non lo farò più

volevo solo chiedere un'ultima cosa: ora tutto funziona per il verso giusto, tranne che la mia nave quando premo il tasto per sparare, spara colpi uno di fila all'altro, mentre io vorrei che tra uno e l'altro ci fosse una piccola pausa..qualcuno può darmi una mano?

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: direzione dei proiettili

Messaggio da Tizzio »

apashee ha scritto::spat: ok, non lo farò più

volevo solo chiedere un'ultima cosa: ora tutto funziona per il verso giusto, tranne che la mia nave quando premo il tasto per sparare, spara colpi uno di fila all'altro, mentre io vorrei che tra uno e l'altro ci fosse una piccola pausa..qualcuno può darmi una mano?
usa l'evento alarm


in create event metti

Codice: Seleziona tutto

alarm[0]=10 ;//10 step


dentro l'evento alarm0 metti il codice per sparare
e poi

Codice: Seleziona tutto

alarm[0]=10//10 step;
così spara ogni 10 step.

apashee
Newbie
Messaggi: 46
Iscritto il: 26/06/2012, 13:55
Contatta:

Re: direzione dei proiettili

Messaggio da apashee »

funziona, ma se metto come tasto per sparare una lettera invece che quelli contraddistinti da vk_ la nave spara da sola e smette quando premo la lettera.. :shock:

io ho scritto così:

Codice: Seleziona tutto

if keyboard_check('A')
{instance_create(x,y,og_bullet)}
alarm [0]=5

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: direzione dei proiettili

Messaggio da Tizzio »

apashee ha scritto:funziona, ma se metto come tasto per sparare una lettera invece che quelli contraddistinti da vk_ la nave spara da sola e smette quando premo la lettera.. :shock:

io ho scritto così:

Codice: Seleziona tutto

if keyboard_check('A')
{instance_create(x,y,og_bullet)}
alarm [0]=5
usa

Codice: Seleziona tutto

if(keyboard_check(ord("A")))  

Avatar utente
JAKOOOO
Newbie
Messaggi: 5
Iscritto il: 05/07/2015, 9:21
Uso: GameMaker 8.1
Contatta:

Re: direzione dei proiettili

Messaggio da JAKOOOO »

Scusate, siccome io adesso mi ritrovo nella stessa situazione e voi avete già risolto mi potete inviare tutto il codice ? perfavore :mrgreen: :sisisi:

Avatar utente
Tiger
GMI Guru
Messaggi: 2626
Iscritto il: 07/08/2011, 14:01
Specialità: Usare i siti porni
Uso: GM:Studio 1.4 Master
Contatta:

Re: direzione dei proiettili

Messaggio da Tiger »

Non è proprio così che funziona. Comunque sei un fake di Jak, sicuro.
ImmagineImmagine

Avatar utente
JAKOOOO
Newbie
Messaggi: 5
Iscritto il: 05/07/2015, 9:21
Uso: GameMaker 8.1
Contatta:

Re: direzione dei proiettili

Messaggio da JAKOOOO »

ke?

Avatar utente
Tiger
GMI Guru
Messaggi: 2626
Iscritto il: 07/08/2011, 14:01
Specialità: Usare i siti porni
Uso: GM:Studio 1.4 Master
Contatta:

Re: direzione dei proiettili

Messaggio da Tiger »

Appunto :lol:
ImmagineImmagine

Avatar utente
JAKOOOO
Newbie
Messaggi: 5
Iscritto il: 05/07/2015, 9:21
Uso: GameMaker 8.1
Contatta:

Re: direzione dei proiettili

Messaggio da JAKOOOO »

scusate ho un pronìblema con la direzione dei proiettili. Ho una sprite che usa 4 direzioni. Per far andare i proiettili in tutte le 4 direzioni che voglio io ho fatto così:
var instance_create(x,y,missile);
missile.speed = 7;
if(sprite_index = carro_sx) {missile.direction = 180;}
if(sprite_index = carro_dx) {missile.direction = 0;}
if(sprite_index = carro_dv) {missile.direction = 270;}
if(sprite_index = carro_di) {missile.direction = 90;}

solo che c'è un problema, es. se sparo un proiettile verso destra e ne sparo un altro a sinistra il proiettile che nel frattempo andava a destra cambia direzione e va a sinistra anke lui e così con tutte le direzioni. Potreste cortesemente spiegarmi qual è il problema ?

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: direzione dei proiettili

Messaggio da doom13 »

Quando fai missile.direction stai assegnando la direzione a tutte le istanze di missile.
Posta il codice della creazione dei missili.
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 151 ospiti