Sto costruendo un gioco e il braccio del personaggio principale seguirà il cursore del mouse, quindi ruoterà abbastanza frequentemente. Quale sarebbe il modo migliore per ruotarlo?Il modo migliore per ruotare un'immagine usando SDL?
risposta
Con SDL avete alcune scelte.
Ruota tutti gli sprite in anticipo (pre-renderizza tutte le possibili rotazioni) e rendili come faresti con qualsiasi altro folletto. Questo approccio è veloce, ma utilizza più memoria e più folletti. Come sottolineato da @Nick Wiggle, RotSprite è un ottimo strumento per generare transoformazioni di sprite.
Utilizzare qualcosa come SDL_gfx per eseguire rotazione/zoom in tempo reale. (Non consigliato, molto lento)
Utilizzare SDL in modalità OpenGL e rendere gli sprite primitivi, applicando la rotazione ai primitivi.
L'opzione 3 è probabilmente la soluzione migliore perché ottieni tutti i vantaggi dell'utilizzo di OpenGL. Sta a te decidere come si vuole farlo. È anche possibile caricare gli sprite, eseguire tutti i calcoli di rotazione con SDL_gfx e quindi salvare le versioni ruotate su una superficie SDL_Surface in memoria.
MODIFICA: in risposta al tuo commento, consiglierei di leggere le lezioni di Lazyfoo su SDL. Specifically, this one about rotation. C'è anche un OpenGl function, glRotatef
, che può essere utile nel tuo caso. Una ricerca rapida ha riportato this little tidbit che potrebbe essere utile.
È possibile utilizzare una libreria come SDL_gfx
SDL_RenderCopyEx()
ha argomenti aggiuntivi per rotazione, rotazione e il centro di rotazione.
- 1. Qual è il modo migliore per ruotare i registri per l'applicazione rails
- 2. il modo migliore per iniettare html usando javascript
- 3. Qual è il modo migliore per ruotare un CGPoint su una griglia?
- 4. Il modo più semplice per ruotare un rettangolo
- 5. Il modo migliore per creare pagine man?
- 6. C'è un modo migliore per trovare gli anagrammi usando SQL?
- 7. C'è un modo migliore per aggregare un dizionario usando LINQ?
- 8. C'è un modo migliore per dividere questa stringa usando LINQ?
- 9. Cross browser way per ruotare l'immagine usando i CSS?
- 10. sdl ttf_rendertext_blended non riesce in modo casuale
- 11. Il modo migliore per identificare un utente in modo univoco
- 12. Il modo migliore per scrivere immagini?
- 13. Il modo migliore per pianificare un'attività?
- 14. Il modo migliore per sincronizzare l'attività asincrona
- 15. Il modo migliore per rinominare MainWindow
- 16. Il modo migliore per gestire l'unione JPA?
- 17. Il modo migliore per disabilitare l'impaginazione ViewPager
- 18. Il modo migliore per scrivere l'espressione regolare
- 19. Il modo migliore per "negare" un'istanza di
- 20. Il modo migliore per ottenere URL multilingue?
- 21. Il modo migliore per scendere a Jmeter?
- 22. REGEX, il modo migliore per imparare è
- 23. Il modo migliore per spostare un __m128i?
- 24. Il modo migliore per creare array singleton
- 25. Il modo migliore per eliminare l'istanza dell'applicazione
- 26. Il modo migliore per inserire elementi nell'array?
- 27. Il modo migliore per aggiornare/ricaricare UIScrollView
- 28. Il modo migliore per denominare le tabelle
- 29. Il modo migliore per gestire un KeyNotFoundException
- 30. Il modo migliore per verificare l'eccezione interna?
Penso che mi piacerebbe esplorare la rotta OpenGL, tuttavia, non ho mai lavorato con esso. Hai qualche consiglio su un sito web per iniziare un tutorial per la rotazione? – Justen
Ho visto un codice da NeHe, e questo mi sembra incredibilmente noioso per impostare una rotazione su un'immagine ... Non riesco a capirlo affatto, alcun aiuto su questo argomento? – Justen
Non ho/non ho lavorato con OpenGL da molto tempo. La tua domanda di rotazione specifica per OpenGL potrebbe essere un buon argomento per una nuova domanda. Sei destinato ad avere una risposta molto migliore di quella che posso dare. –