Estoy construyendo un juego y el brazo del personaje principal seguirá el cursor del mouse, por lo que girará con bastante frecuencia. ¿Cuál sería la mejor manera de rotarlo?¿La mejor manera de rotar una imagen usando SDL?
Respuesta
Con SDL que tiene algunas opciones.
girar todas sus sprites con antelación (antes de hacer todas las rotaciones posibles) y hacerlos como lo haría con cualquier otro sprite. Este enfoque es rápido, pero usa más memoria y más sprites. Como señaló @Nick Wiggle, RotSprite es una gran herramienta para generar transforaciones de sprites.
Use algo como SDL_gfx para hacer rotación/acercamiento en tiempo real. (No recomendado, muy lento)
Use SDL en modo OpenGL y renderice sus sprites a primitivos, aplicando rotación a los primitivos.
La opción 3 es probablemente su mejor opción porque obtiene todas las ventajas de usar OpenGL. Depende de usted cómo querer hacerlo. También existe la posibilidad de que pueda cargar sus sprites, realizar todos los cálculos de rotación con SDL_gfx y luego guardar las versiones giradas en una SDL_Surface en la memoria.
EDIT: En respuesta a su comentario, le recomiendo que revise los documentos de SDL de Lazyfoo. Specifically, this one about rotation. También hay un OpenGl function, glRotatef
, que puede ser útil en su caso. Una búsqueda rápida devolvió this little tidbit que también podría ser útil.
Se puede utilizar una biblioteca como SDL_gfx
SDL_RenderCopyEx()
tiene argumentos adicionales para la rotación, volteo y el centro de rotación.
- 1. Rotar imágenes en android. ¿Hay una mejor manera?
- 2. mejor manera de rotar los archivos de registro de rabbitmq
- 3. ¿Cómo rotar la imagen usando el plugin jquery rotate?
- 4. La mejor manera de escribir una imagen en Django HttpResponse()
- 5. Cómo rotar la imagen y guardar la imagen
- 6. ¿La manera más fácil de girar 90 grados una imagen usando OpenCV?
- 7. ¿Cuál es la mejor manera de rotar un CGPoint en una cuadrícula?
- 8. ¿Cómo rotar una imagen gradualmente en Swing?
- 9. Cómo rotar la imagen con jQuery?
- 10. Cuál es la mejor manera de rotar registros para la aplicación de rieles
- 11. Girar una imagen usando css
- 12. rotar CATransform3D hace que la mitad de la imagen desaparezca
- 13. Usando una matriz para rotar rectángulos individualmente
- 14. La mejor manera de manejar una KeyNotFoundException
- 15. Manejo de ventanas maximizadas usando SDL
- 16. mejor manera de inyectar html usando javascript
- 17. ¿Hay una mejor manera de dividir esta cadena usando LINQ?
- 18. mejor manera de cambiar elementos usando jQuery
- 19. Cómo rotar un div usando jQuery
- 20. ¿Imágenes de carga lenta, la mejor manera de mostrar una imagen temporal? JQuery tal vez?
- 21. ¿Cuál es una buena manera de rotar una matriz de píxeles?
- 22. La mejor manera de ordenar una matriz
- 23. ¿La mejor manera de planificar una tarea?
- 24. ¿La mejor manera de iniciar una descarga?
- 25. Usando backbonejs view, ¿cuál es la mejor manera de adjuntar un evento "onload" a una etiqueta de imagen?
- 26. ¿La mejor manera de estampar una imagen con otra imagen para crear una marca de agua en ASP.NET?
- 27. Rotar imagen (es) OnClick con jQuery?
- 28. La mejor manera de unir tablas usando sqlite en android
- 29. Cómo rotar una imagen 90 grados en iOS?
- 30. La mejor manera de unir 2 tablas usando Hibernate
Creo que me gustaría explorar la ruta OpenGL, sin embargo, nunca he trabajado con ella. ¿Tiene alguna recomendación en un sitio web para comenzar con un tutorial de rotación? – Justen
He visto algún código de NeHe, y esto parece increíblemente tedioso para configurar una rotación en una imagen ... No lo entiendo del todo, ¿hay alguna ayuda sobre este tema? – Justen
No he trabajado/no he trabajado con OpenGL en mucho tiempo. Su pregunta de rotación específica de OpenGL puede ser un buen tema para una nueva pregunta. Seguramente obtendrás una respuesta mucho mejor de la que puedo dar. –