Si quiero pasar a C++ y SDL en el futuro, ¿Python y pygame son una buena forma de aprender SDL?¿Python y pygame son una buena forma de aprender SDL?
Respuesta
pygame abstrae bastante la interfaz de SDL, por lo tanto, no creo que haya una gran ventaja transferida.
Puede aprender algunas técnicas, formas de implementar la lógica del juego, etc. en entornos basados en SDL, pero después de pasar a C++/SDL tendrá que usar funciones SDL directamente, las funciones auxiliares/objetos de pyGame serán completamente útiles.
Sí. Si Python es mucho más natural para usted que C++, podría ser una buena idea aprender pygame primero. Tendrá que realizar un proceso de traducción al migrar a SDL y C, pero debería ser un mapeo más o menos uno a uno.
Puede intentar pyglet Si está apuntando a OpenGL. Es una biblioteca mucho mejor pensada que lo que es el pygame.
Pero luego, si desea pasar a C++ y SDL en el futuro, hágalo ahora. De esa forma, realmente aprendes SDL. Pero antes de hacer algo tan irresponsable, sería una buena idea consultar primero en pyglet. Solo por diseñar sus aplicaciones correctamente en C++ también, sin importar qué tan malas sean sus bibliotecas.
Por supuesto. Puedes escribir un juego sdl o herramientas en menos tiempo.
Puede comenzar con el código que deben mostrarse los datos/chimp.bmp en una pantalla de 468x60:
import pygame, sys,os
from pygame.locals import *
pygame.init()
window = pygame.display.set_mode((468, 60))
pygame.display.set_caption('Monkey Fever')
screen = pygame.display.get_surface()
monkey_head_file_name = os.path.join("data","chimp.bmp")
monkey_surface = pygame.image.load(monkey_head_file_name)
screen.blit(monkey_surface, (0,0))
pygame.display.flip()
def input(events):
for event in events:
if event.type == QUIT:
sys.exit(0)
else:
print event
while True:
input(pygame.event.get())
Cuando esté familiarizado con los objetos SDL se puede mover fácilmente a C++ (si quieres más: p Pygame es rápido y puedes hacer un juego complejo con él).
No consideraría Python (o cualquier lenguaje administrado o interpretado, para el caso) una buena forma de aprender cualquier tarea compleja, ya que aísla demasiado al programador del funcionamiento del sistema. Como dijo un amigo mío, "Python te ama y quiere que seas feliz". Y eso está muy bien si ya conoce los fundamentos, pero si quiere saber , lo último que desea es un lenguaje que haga todo el trabajo por usted.
Aprenderá lo que muy rápidamente, pero no el por qué, y luego, cuando algo vaya mal, (y eventualmente, en cualquier proyecto no trivial), se quedará sin idea de lo que está pasando o por qué.
pitón no impedirá que el aprendizaje fuera diseño y eso es más o menos la cosa más importante aprender de la OMI, que estoy haciendo un smash bros clon con pygame y he aprendido mucho en el diseño. Y sin embargo, aprenderás a no escribir demasiado código subóptimo también, Python tiene ingeniosos y hermosos hacks también.
Python + PyGame es una gran idea para aprender SDL.
Escribí un somewhat popular game that way. Python/PyGame parece mucho más avanzado que los enlaces SDL a cualquier otro lenguaje, y una gran ventaja en comparación con C++ es que no tiene que compilar código, y con algunos simples ataques incluso puede modificar un programa en ejecución, y ver los comentarios en vivo. Hace una gran diferencia, como usar un programa de gráficos vectoriales GUI versus escribir SVG en un editor de texto. Desafortunadamente no se obtiene esto de la caja, porque necesita adaptar un poco su programa para verlo.
En cuanto a otras ventajas de PyGame, jrpg se ejecutó con cambios muy pequeños en Linux, Windows y OSX. Tuve que hacer algunos ajustes al cambio de modo de pantalla completa, y el doble buffer ya que había algunas diferencias entre los sistemas operativos, pero nunca fue necesaria ninguna recompilación. Si tiene algún problema, puede obtener un buen seguimiento de pila y depurar sus problemas en tiempo real, eso no es posible con C++ una vez que se produce una corrupción de memoria o una segfault.
Realmente no sé qué tan fácil o qué tan difícil sería mezclar C++ y Python para tus juegos SDL. Creo que no puede ser demasiado difícil, ya que PyGame es un contenedor bastante sencillo pero muy bien hecho para SDL, y se supone que la mezcla de Python/C++ es bastante fácil.
Para su propósito PySDL2 es mejor que pygame. Importa SDL2 API casi directamente.
- 1. Entrada internacional SDL o PyGame
- 2. ¿Alguna forma de acelerar Python y Pygame?
- 3. ¿Mejores recursos para aprender PyGame?
- 4. ¿Cuál es una buena manera de dibujar imágenes usando pygame?
- 5. pyGame dentro de una aplicación pyGTK
- 6. Cómo crear clones de MS Paint con Python y pygame
- 7. ¿Cuál es una forma correcta y buena de implementar __hash __()?
- 8. ¿Una buena forma de convertir entre short y bytes?
- 9. ¿Puede una SVM aprender de forma incremental?
- 10. Pygame equivalent for Ruby?
- 11. Forma correcta de escalar una superficie SDL sin recorte?
- 12. Python: ¿Es esta una buena forma de anular __eq__ y __hash__?
- 13. Buscando una buena fuente para aprender ASP.NET MVC
- 14. ¿Es una buena idea aprender primero LINQ, luego SQL?
- 15. ¿Cuál es una buena fuente para aprender sobre QEMU?
- 16. pygame code organization
- 17. juego de tetris en python usando pygame
- 18. ¿Los objetos inmutables son una buena práctica?
- 19. ¿Alguien puede mostrarme una buena fuente para aprender servicios web?
- 20. ¿Filter_var es una buena forma de hacerlo?
- 21. ¿Una buena fuente para aprender multihilo con .net?
- 22. ¿Cuál es una buena forma de ejecutar Javascript de forma interactiva?
- 23. ¿Cuál es una buena primera implementación para aprender a aprender máquinas?
- 24. Viniendo de C, ¿cómo debo aprender Python?
- 25. ¿Cómo hacer botones en python/pygame?
- 26. Proyectos para aprender Python
- 27. ¿Cuál es la mejor manera de agregar una GUI a una aplicación Pygame?
- 28. ¿Cuál es una forma de "buena práctica" para escribir una aplicación Python GTK +?
- 29. ¿Una buena forma de cortar un vector flotante?
- 30. ¿Cuál es una buena forma de implementar una aplicación Perl?
El enlace no parece funcionar (404). – SwiftsNamesake
Bastante seguro que el nuevo enlace correcto es este: https://taw.github.io/jrpg/ – ZN13
La URL se arregló ahora. – taw