Mattyfog
20-07-2009, 22:19
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:
http://i.msdn.microsoft.com/Bb203919.screenspace2(en-US,XNAGameStudio.10).png
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 ;)
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:
http://i.msdn.microsoft.com/Bb203919.screenspace2(en-US,XNAGameStudio.10).png
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 ;)