spostare la visuale in 3D
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
spostare la visuale in 3D
Sto cercando di fare in modo k se si sposta il mouse si sposta anche la visuale dello stesso valore dello spostamento del mouse e k il mouse sia sempre fermo al centro. Qualcuno mi può aiutare????
-
- GMI Advanced
- Messaggi: 2093
- Iscritto il: 19/12/2010, 16:17
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: spostare la visuale in 3D
E' inutile che ti diciamo come fare se non hai esperienza almeno con il 2D. Cambiare la visuale in base al movimento del mouse è quasi basilare nel 3D. Ma ripeto se non conosci nemmeno le basi del 2D non puoi passare al D3D.
♥♥♥♥♥♥
♥♥♥♥♥♥
♥♥♥♥♥♥
Spoiler
- torchipeppo
- Membro
- Messaggi: 215
- Iscritto il: 01/06/2011, 17:32
- Specialità: Teoria e Manuali
- Uso: GameMaker 8
- Località: Da qualche parte...
- Contatta:
Re: spostare la visuale in 3D
-----preceduto-----
Se fosse in 2D, ti direi di guardare il manuale alle sezioni "The Window", "The Mouse" e "Views", ma forse in 3D ti serve qualcosa di più... Ah, sto partendo dal presupposto che la visuale sia top-down (tipo RTS). Io ho la lite quindi non posso usare il 3D, se stai facendo una visuale in prima persona (tipo FPS) non posso aiutarti.
Se fosse in 2D, ti direi di guardare il manuale alle sezioni "The Window", "The Mouse" e "Views", ma forse in 3D ti serve qualcosa di più... Ah, sto partendo dal presupposto che la visuale sia top-down (tipo RTS). Io ho la lite quindi non posso usare il 3D, se stai facendo una visuale in prima persona (tipo FPS) non posso aiutarti.
Il mio progetto attuale:
Spoiler
I miei giochi su GMI:
Spoiler
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
Re: spostare la visuale in 3D
si, io so fare abbastanza il 2D; avevo già provato a creare un codice per spostare la visuale, ma non mi risultava corretto. quello k avevo pensato era k il mouse fosse fisso al centro e k avesse come sprite un mirino, ad ogni movimento registrava di quanto si spostava il mouse e spostava la visuale a quel valore,poi risistemava il mouse al centro (tutto questo ad ogni step) solo k nn riesco a tradurlo in codice!!!Solid Snake ha scritto:E' inutile che ti diciamo come fare se non hai esperienza almeno con il 2D. Cambiare la visuale in base al movimento del mouse è quasi basilare nel 3D. Ma ripeto se non conosci nemmeno le basi del 2D non puoi passare al D3D.
-
- GMI Advanced
- Messaggi: 2093
- Iscritto il: 19/12/2010, 16:17
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: spostare la visuale in 3D
Codice: Seleziona tutto
//CREATE
zdir=0;
direction=0;
Codice: Seleziona tutto
//DRAW
zdir+=display_mouse_get_y()-display_heigth()/2;
direction+=display_mouse_get_x()-display_width()/2;
d3d_set_projection_ext(x,y,z,x+(10*sin(degtorad(zdir))*cos(degtorad(-direction))),y+(10*sin(degtorad(zdir)))*sin(degtorad(-direction)),z+10*cos(degtorad(zdir)),0,0,1,45,1,1,100000);
display_mouse_set(display_width()/2,display_height()/2);
♥♥♥♥♥♥
♥♥♥♥♥♥
♥♥♥♥♥♥
Spoiler
- torchipeppo
- Membro
- Messaggi: 215
- Iscritto il: 01/06/2011, 17:32
- Specialità: Teoria e Manuali
- Uso: GameMaker 8
- Località: Da qualche parte...
- Contatta:
Re: spostare la visuale in 3D
Nel manuale c'è scritto tutto alle tre sezioni che ho detto prima. Ecco un possibile pseudocodice per una visuale in prima persona (tipo FPS) (da mettere in step):
Non posso dirti le funzioni né testare perché (l'ho già detto) ho la lite, ma a rigor di logica dovresti fare così (forse ho sbagliato qualche termine, ma spero che abbia afferrato il concetto).
Codice: Seleziona tutto
if (il mouse si è spostato dalla posizione "centrale")
{
sposto la visuale a destra o a sinistra (mi guardo intorno) in base a quanto si è spostato il mouse sull'asse X
sposto la visuale in alto o in basso (alzo gli occhi al cielo o mi guardo i piedi) in base a quanto si è spostato il mouse sull'asse Y
riporto il mouse alla posizione "centrale"
}
Il mio progetto attuale:
Spoiler
I miei giochi su GMI:
Spoiler
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
Re: spostare la visuale in 3D
ok per la visuale va bene xò se io vado avanti la direzione è diversa dalla direzione della visuale quindi se vado avanti nn vado dritto ma in un'altra directionSolid Snake ha scritto:Codice: Seleziona tutto
//CREATE zdir=0; direction=0;
Non l'ho testato ma dovrebbe andare.Codice: Seleziona tutto
//DRAW zdir+=display_mouse_get_y()-display_heigth()/2; direction+=display_mouse_get_x()-display_width()/2; d3d_set_projection_ext(x,y,z,x+(10*sin(degtorad(zdir))*cos(degtorad(-direction))),y+(10*sin(degtorad(zdir)))*sin(degtorad(-direction)),z+10*cos(degtorad(zdir)),0,0,1,45,1,1,100000); display_mouse_set(display_width()/2,display_height()/2);
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: spostare la visuale in 3D
usa una variabile per l'avanzamento (suggerisco direction) e
crea un'altra variabile per la direzione della "camera".
crea un'altra variabile per la direzione della "camera".
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
Re: spostare la visuale in 3D
scusate se sn un nabbo, ma ho usato 2 variabili e lo spostamento del mouse è invertito,cioè se si sposta il mouse a destra la visuale va a sinistra, se si sposta il mouse in alto la visuale si sposta in basoo.... Help!
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: spostare la visuale in 3D
inverti il funzionamento.
potresti moltiplicare per (-1) l'effetto di spostamento,
o invertire il codice.
ti ricordo che in matematica l'asse y cresce verso l'alto, mentre sul pc le coordinate dello schermo crescono verso il basso. dubito sia questo il problema dato che lo hai anche per dx e sx.
potresti moltiplicare per (-1) l'effetto di spostamento,
o invertire il codice.
ti ricordo che in matematica l'asse y cresce verso l'alto, mentre sul pc le coordinate dello schermo crescono verso il basso. dubito sia questo il problema dato che lo hai anche per dx e sx.
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
Re: spostare la visuale in 3D
BaronVsCorsar ha scritto:inverti il funzionamento.
potresti moltiplicare per (-1) l'effetto di spostamento,
o invertire il codice.
ti ricordo che in matematica l'asse y cresce verso l'alto, mentre sul pc le coordinate dello schermo crescono verso il basso. dubito sia questo il problema dato che lo hai anche per dx e sx.
no, invertendo per (-1), xò l'asse y del mouse è giusto quindi questo vuol dire k bisognerebbe invertire il codice, idee?
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: spostare la visuale in 3D
incomprensibileno, invertendo per (-1), xò l'asse y del mouse è giusto quindi questo vuol dire k bisognerebbe invertire il codice, idee?
prima dicevi di aver invertito sia l'asse orizzontale, sia quello verticale, ora che quello verticale è giusto...
Ricordati che sei nel 3d, le coordinate x,y,z sono orientate rispetto un sistema di riferimento, e la tua camera non è detto che mostri l'alto corrispondente alla y crescente.
Dipende da come hai settato la visuale.
la funzione
d3d_set_projection_ext
hai capito come si utilizza o hai semplicemente copiato il codice che ti hanno proposto?
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
Re: spostare la visuale in 3D
No, lascia stare, sono un cretino io;non mi ero accorto k lui nella seconda riga aveva messo:BaronVsCorsar ha scritto:incomprensibileno, invertendo per (-1), xò l'asse y del mouse è giusto quindi questo vuol dire k bisognerebbe invertire il codice, idee?
prima dicevi di aver invertito sia l'asse orizzontale, sia quello verticale, ora che quello verticale è giusto...
Ricordati che sei nel 3d, le coordinate x,y,z sono orientate rispetto un sistema di riferimento, e la tua camera non è detto che mostri l'alto corrispondente alla y crescente.
Dipende da come hai settato la visuale.
la funzione
d3d_set_projection_ext
hai capito come si utilizza o hai semplicemente copiato il codice che ti hanno proposto?
direction+=display_get_mouse-display_get_width()
ed è qui k sbaglia!
è direction+=(-display_get_mouse+display_get_width())
sono proprio un cretino!
Grazie comunque!
- luckluppolo
- Newbie
- Messaggi: 27
- Iscritto il: 04/02/2013, 16:52
- Specialità: programmazione 2D
- Uso: GameMaker 8
- Località: Veneto
- Contatta:
Re: spostare la visuale in 3D
No, lascia stare, sono io k sono un cretino, l'errore è k nella seconda riga il display_get_mouse è negativo e il display_get_width è positivo; quindi viene cosi:BaronVsCorsar ha scritto:incomprensibileno, invertendo per (-1), xò l'asse y del mouse è giusto quindi questo vuol dire k bisognerebbe invertire il codice, idee?
prima dicevi di aver invertito sia l'asse orizzontale, sia quello verticale, ora che quello verticale è giusto...
Ricordati che sei nel 3d, le coordinate x,y,z sono orientate rispetto un sistema di riferimento, e la tua camera non è detto che mostri l'alto corrispondente alla y crescente.
Dipende da come hai settato la visuale.
la funzione
d3d_set_projection_ext
hai capito come si utilizza o hai semplicemente copiato il codice che ti hanno proposto?
direction+=(-display_get_mouse+dsplay_get_width)
sono proprio un cretino!
Grazie comunque!!!
Chi c’è in linea
Visitano il forum: Bing [Bot], Google [Bot] e 114 ospiti