Aiuto FPS

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Aiuto FPS

Messaggio da pkart »

Sto creando un First Person Shooter e ho bisogno di una mano; vorrei inserire una specie di radar nel gioco, cioè una freccia la cui punta sia sempre rivolta verso un oggetto, l'obiettivo del giocatore (un po' come l'ago di una bussola che indica il nord). Quindi la freccia dovrebbe ruotare automaticamente nella direzione dell'obiettivo (che è un oggetto fermo); è possibile? Come? E una volta creato il "radar", come lo inserisco in una certa posizione della visuale? Grazie in anticipo per l'aiuto.

Avatar utente
guidox
GMI Honor
Messaggi: 5765
Iscritto il: 26/07/2009, 17:23
Specialità: programmazione
Uso: GM:Studio 1.4 Android
Località: Marche
Contatta:

Re: Aiuto FPS

Messaggio da guidox »

image_angle=point_direction(x,y,OGGETTOSUCUIVUOIPUNTARE.x,OGGETTOSUCUIVUOIPUNTARE.y);
Immagine

Immagine

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

guidox ha scritto:image_angle=point_direction(x,y,OGGETTOSUCUIVUOIPUNTARE.x,OGGETTOSUCUIVUOIPUNTARE.y);
@pkart: Ovviamente se hai la versione gratuita devi usare un sistema un pò diverso. Anzitutto crei la freccia rivolta verso destra poi crei un'animazione (nell' editor grafico c'è lo strumento apposito) di rotazione in senso antiorario (supponiamo di 60 frame, non credo tu abbia bisogno di una precisione tale da fare 360 frame). Poi metti nello step event il codice

Codice: Seleziona tutto

image_index=point_direction(x,y,OGGETTOSUCUIVUOIPUNTARE.x,OGGETTOSUCUIVUOIPUNTARE.y) / 6;
Edit:
ah gia se vuoi fare un FPS usi il 3D, quindi è ovvio che hai la versione a pagamento. Mi sono sbagliato! :mrgreen:
Ultima modifica di gameplay_extreme il 07/06/2012, 9:14, modificato 2 volte in totale.
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

Ho la versione 8.0 pro. Anche in questo caso devo disegnare la freccia rivolta verso destra?

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

direi di si (comuque prova)
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

Un'altra domanda: è possibile inserire una piccola immagine (es: il volto di un personaggio) nella casella di dialogoImmagine?

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

Xeryan ha scritto:
pkart ha scritto:Un'altra domanda: è possibile inserire una piccola immagine (es: il volto di un personaggio) nella casella di dialogoImmagine?
no, non si può
Maz ci era riuscito in "Kocimory Island", ma probabilmente ha usato uno script personalizzato
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

Ho usato il codice per la versione lite ma non va! All'inizio del livello la freccia si orienta verso l'obiettivo. Esso è davanti al giocatore e quindi si orienta verso l'alto. Però se mi giro dando le spalle all'obiettivo, la freccia invece di puntare verso il basso continua a puntare verso l'alto! E così anche se mi giro e mi muovo in altre direzioni! Come posso risolvere il problema?

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

domanda stupida: il codice l'hai messo in step ?

Edit: ma perchè hai usato il codice per la lite se hai la pro ?
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

L'ho messo nello step event. Ho usato il codice lite perché è meno complicato. Forse non funziona perché ho modificato l'origine dello sprite?

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

pkart ha scritto:L'ho messo nello step event. Ho usato il codice lite perché è meno complicato. Forse non funziona perché ho modificato l'origine dello sprite?
Come meno complicato...e quasi identico.
pkart ha scritto:Forse non funziona perché ho modificato l'origine dello sprite?
No, tu hai detto che non si muove proprio...non può essere per quello.
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

All'inizio si sposta automaticamente dalla posizione iniziale (con la punta a destra) verso la direzione dell'oggetto (e con "si sposta" intendo dire che la freccia si trova già in quella direzione all'inizio), e poi resta immobile.

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

Molto strano, ma hai fatto come abbio detto noi?
dacci più dettagli di come hai fatto

edit: non mi hai ancora risposto: cosa signifca che il codice per la lite è più semplice?

possibili errori:
- hai messo il codice nel create (come dicevo prima)
- hai più istanze dell'oggetto_a_cui_puntare
- se hai usato il codice per la lite non hai fatto le 60 subimagini (controlla)
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

Niente da fare! Ho provato a usare il codice nello Step, nel Begin Step e nell' End Step ma non va! Prima usavo 360 frame e pensavo fosse questo l'errore; allora ho portato la freccia a 60 frame ma la situazione è peggiorata: prima la freccia si orientava verso l'oggetto e poi si bloccava; ora si orienta in una direzione in cui non c'è l'oggetto (si, ho controllato e ce n'è solo uno nella room). Uso il codice lite perché così per posizionare l'oggetto nella visuale del giocatore mi basta modificarne l'origine, mentre nell'altro modo dovrei intervenire direttamente sui codici (non so se mi sono spiegato), cosa che preferisco evitare quando possibile, essendo alle prime armi.

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

ma i due codici sono quasi identici !

comunque se vuoi scarica questo esempio
Allegati
Indicatore.gmk
(16.65 KiB) Scaricato 100 volte
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

Ma certo! Ho capito perché non funziona! Quando si progetta un FPS con GM gli oggetti nella stanza vengono posizionati come se fosse un gioco con visuale dall'alto, no? Quindi la freccia non si muove con il personaggio e per questo non ruota. E all'inizio del gioco non si orienta in una direzione in cui non c'è l'oggetto, ma nella posizione in cui l'oggetto si trova nella room se vista dall'alto (non so se mi spiego). Comunque, a questo punto direi che i due codici non possono funzionare.

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

Re: Aiuto FPS

Messaggio da Tizzio »

(premetto di non ricordare il codice esattamente)
devi fare in un oggetto a parte, qualcosa del tipo:

Codice: Seleziona tutto

d3d_set_projection_ortho(0,0,room_width_room_height) 
d3d_set_hidden(false);
draw_sprite_ext(sprite_freccia,0,10,10,1,1,ROTAZIONE CHE VUOI,-1,1);
ricordati di centrare lo sprite

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: Aiuto FPS

Messaggio da gameplay_extreme »

ho fatto una prova mettendo insieme il codice di giodox e quello di tizio, sembra funzionare: la freccia si rivolge sempre verso lo stesso oggetto

Codice: Seleziona tutto

d3d_set_projection_ortho(0,0,room_width,room_height,0)
d3d_set_hidden(false);
rot = point_direction(obj_player.x, obj_player.y, obj_stella_polare.x, obj_stella_polare.y)
draw_sprite_ext(spr_freccia,0,32,32,1,1,rot-obj_player.direction+90,-1,1);
PS: ho messo il codice nello step event di un nuovo oggetto e l'ho posizionato accanto a obj_player
PPS: non è che io sia un asso col 3D (infatti di solito uso la lite), se qualcuno mi conferma (o mi smentisce) l'esattezza di quello che ho fatto lo ascolto
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

pkart
Membro
Messaggi: 77
Iscritto il: 23/12/2011, 12:29
Contatta:

Re: Aiuto FPS

Messaggio da pkart »

Aspettate, non va come dovrebbe: ho creato un nuovo oggetto, gli ho assegnato lo sprite della freccia, ho inserito nel suo step event il codice suggerito da marco23452b e l'ho posizionato nella stanza. Risultato: la freccia ruota a caso sul pavimento della stanza, mentre dovrebbe ruotare nella direzione dell'obiettivo e dovrebbe essere sempre visibile al giocatore, come la barra della salute e il mirino.

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: Aiuto FPS

Messaggio da Tiger »

Fai la freccia verso destra,una sola immagine e usa in step:

Codice: Seleziona tutto

image_angle=point_direction(x,y,OGGETTO.x,OGGETTO.y)
ImmagineImmagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti