Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Una ammiraglia elettrica, da sei o sette posti, con il comfort di viaggio come missione assoluta. Un'auto non per tutti, ma di cui ti innamori dopo pochi giorni, ecco com'è andata la nostra prova di lunga durata
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
Hyper Mini LED con 2.304 zone, DisplayPort 2.1 e Dual Mode: 5K a 165 Hz oppure QHD a 330 Hz: LG propone un monitor da gioco ma dalla buona versatilità creativa, con prestazioni interessanti e un listino di 1.220 euro. Peccato l'alimentatore ingombrante
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio
Motorola edge 70 Fusion FIFA World Cup 26 Edition porta la maglia iridata su uno smartphone accessibile: display Extreme AMOLED da 6,78 pollici a 144Hz, fotocamera Sony LYTIA 710 con moto ai, Snapdragon 7s Gen 3 abbinato a 8GB di RAM, batteria da 5200 mAh con ricarica TurboPower a 68W e certificazione IP68/IP69, il tutto in una veste PANTONE Silhouette con logo dorato a 24 carati, moto buds bass incluse in confezione e contenuti software dedicati ai Mondiali 2026
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


Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio Motorola edge 70 Fusion FIFA World Cup 26 Editio...
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...
Ristrutturazione in casa EA: licenziamen...
Cloudflare avverte: gli umani rischiano ...
Amazon ha costruito un data center da 2 ...
Smartphone premium oltre i 600$: Apple d...
La RAM costa come nel 2007: 20 anni di r...
Huawei presenta MateBook Pro S: laptop u...
Pieghevoli, la svolta che tutti aspettav...
Sempre più manager tech sognano di molla...
IA agentica: Qwen3.8 Max davanti ai big ...
Trump deciso a bloccare l'eolico offshor...
TOP 12 offerte del weekend Amazon: i nuo...
Enhanced PSSR sarà attivo per imp...
Polti Vaporetto SV440 Double, la scopa a...
Smart TV a 129€ su Amazon: è un H...
Proseguono le operazioni di ripristino d...
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: 23:22.


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