Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Dopo più di un anno dal primo test drive ci siamo rimessi al volante della Renault 5 E-Tech Electric, questa volta utilizzandola come prima auto per circa due settimane. Scoprite con noi se il progetto convince ancora
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-07-2009, 21:19   #1
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
[C#]Xna 2d: devo riuscire a calcolare un movimento (credo basti la logica)

Ciao raga,
volevo provare a fare un giochino 2d con xna 3 e il c#!
Solo che ho un problemuccio magari anche + facile di quanto sembri... In mate sono bravo ma faccio ancora prima superiore e mi dovrei scervellare un po' (cosa che comunque proverò a fare ma anche nel caso riuscissi guarderò le vostre idee)!
Allora... Ho uno sprite nel mio caso una astronave e vorrei che la sua punta fosse rivolta verso la posizione (in quanto nel gioco non si vedrà il cursore) del mouse. Non so se ci sia qualcosa di già pronto ma nel caso contrario ho il necessario per agire da me: mi serve solo un po' di logica.
Lo sprite ha 3 valori (se così posso chiamarli) che ci interessano: la posizione che fa riferimento appunto alla posizione in cui si trova, l'origine che è un punto dello sprite (stabilito dal programmatore e che nel mio caso è il centro dello sprite) al quale si riferisce la posizione: voglio dire che la posizione dello sprite indica la sua origine (se non capite guardate qua); infine la rotazione misura con quei valori strani che non mi ricordo, sono floato scritti tipo questo 0.0f
Esempio per chiarire meglio origine e posizione:

qui l'origine è quella in centro allo sprite e corrisponde a 25, 25 (pixel dello sprite mentre la posizione è 425, 225 ed indica sempre lo stesso punto dell'origine ma in riferimento all'intero schermo)

Abbiamo ancora poi le coordinate del mouse.
Come faccio a capire che valore assegnare alla rotazione dello sprite? Considerate che non so neppure quanto valgano quei valori tipo 0.0f e quindi non co neppure quanto corrisponde a 360°...
Ogni aiuto è gradito
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2009, 22:28   #2
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
mi è venuta un'idea ma per realizzarla ho bisogno di sapere una cosa... In un triangolo rettangolo si può calcolare l'ampiezza dei due angoli sull'ipotenusa conoscendo la lunghezza dei cateti?
oppure + semplicemente non c'è una funzione che faccia già al caso mio?
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 08:28   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
Considerate che non so neppure quanto valgano quei valori tipo 0.0f e quindi non so neppure quanto corrisponde a 360°...
Ogni aiuto è gradito
360° = 2 PiGreco
180° = PiGreco
90° = PiGreco/2
45° = PiGreco/4
In ogni caso le conoscenze che ti servono sono quelle della trigonometria
In genere, nella libreria standard di ogni linguaggio c'è un "pacchetto matematico" di base che mette a disposizione le funzioni trigonometriche e, tra le costanti, c'è sicuramente già definita quella per PiGreco.

Inoltre, il sistema di riferimento per le coordinate del sistema grafico di solito di default è orientato, come avrai già visto, con l'origine mappata in alto a sinistra, l'asse delle X positivo cresce a destra, quello delle Y positive cresce verso il basso.
Gli angoli crescono in senso orario, partendo dall'angolo 0, coincidente con l'asse positivo delle X.
Gli angoli si misurano in radianti (e di solito le funzioni trigonometriche lavorano con i radianti; la libreria standard mette a disposizione funzioni apposite per la conversione da gradi sessagesimali a gradi radianti e viceversa).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 21-07-2009 alle 09:52.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 08:57   #4
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
Sia il triangolo formato dai cateti a,b e alfa l'angolo formato da c e a.

tan(alfa) = b/a

la tangente è invertibile tra 0 e pigreco...

e poi naturalmente alfa + beta = pigreco/2
queste due frasi non le ho capite...
riguardo ciò che invece c'è scritto in alto mi restituisce direttamente il valore come 0.0f? (come si chiamano sti maledetti valori???)
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 09:22   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
queste due frasi non le ho capite...
riguardo ciò che invece c'è scritto in alto mi restituisce direttamente il valore come 0.0f? (come si chiamano sti maledetti valori???)
Si chiamano valori float (da cui la 'f' posta dopo il valore letterale).
Sono dati a virgola mobile, a precisione singola, hanno dei fratelli: i double, che sono anche loro dati a virgola mobile, ma a precisione doppia.

Per curiosità, in che linguaggio programmi?

@EDIT: ah sì, C#, l'ho letto ora nel titolo del thread.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 09:43   #6
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
ok ma io i float li conoscevo già ma non capivo il senso di sto f...
Comunque forse ho trovato pappa pronta qua http://social.msdn.microsoft.com/for...2-dee819d78ad5 ma ti devo ringraziare soprattutto perchè mi hai spiegato i valori degli angoli
dopo proverò e vi farò sapere
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 11:21   #7
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
confermo che funziona ciò che ho trovato
mi sapete però dire la necessità di questa f nell'assegnazione delle float?
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 11:36   #8
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
mi autoquoto per risparmiare le dita :
Quote:
Si chiamano valori float (da cui la 'f' posta dopo il valore letterale).
Sono dati a virgola mobile, a precisione singola, hanno dei fratelli: i double, che sono anche loro dati a virgola mobile, ma a precisione doppia.
Senza quella 'f' posta subito dopo il valore letterale, quel valore sarebbe interpretato come di tipo double.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2009, 17:48   #9
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
mi autoquoto per risparmiare le dita :

Senza quella 'f' posta subito dopo il valore letterale, quel valore sarebbe interpretato come di tipo double.
grazie
intanto cerco di approfondire xna...
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
Lefant V1 a 99 euro: 40.000 Pa, LED touc...
Adesso il cibo si ordina a voce: Just Ea...
I brani creati dall'IA fuori dalle class...
Il gioco che tutti aspettano nel 2026 no...
Kindle Scribe 32 GB in offerta: schermo ...
MSI rompe gli schemi: il nuovo OLED 4K d...
Dreame V20 sotto i 200 euro: 24.000 Pa, ...
OPPO amplia la gamma Reno16 con Reno16 F...
Addio alle vecchie centrali telefoniche:...
SkyNomad N90 Max: il SUV a 7 posti di Xi...
Dimenticate Windows 11: questo 'ritorno'...
Danubio a secco e si ferma la centrale d...
WhatsApp introduce nuovi controlli per g...
Eteon e Scam.ai insieme contro le frodi ...
Il nuovo re della generazione video da c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v