Ver la versión completa : Necesito un poco de ayuda con Python
Saludos, hacía la de dios que no me pasaba por aquí... bueno, vamos a ver:
Tengo un juego en python a medio hacer, que en pc me funciona perfectamente. Se controla usando las teclas del cursor, enter, space, esc, ctrl, shift.. lo tipico, ademas de raton y joystick. En GP2X aunque me ha costado un poco lo he logrado arrancar, aunque no funciona el sonido ni tengo ningún control funcionando, como ya esperaba. El problema es que no se mucho de python, yo solo ando usando un engine ya existente y solo he hecho un par de scripts... como podria remapear los controles para la gp2x?
gracias de antemano, y lo siento si esto ya se ha mencionado alguna vez.. yo no posteo desde antes de que la gp2x saliera, y me llegó mi gp2x hoy... ando algo verde
Pygame mapea los botones de la Gp2x como el primer joystick. Si tu juego usa joysticks tienes mucho adelantado.
Por ejemplo:
joystick = pygame.joystick.Joystick(0)
if joystick.get_button(8):
do_whatever()
o también:
for event in pygame.event.get():
if event.type == JOYBUTTONUP and event.key == 8:
do_whatever()
Los códigos de cada botón de la Gp2x son:
UP=0
UP_LEFT=1
LEFT=2
DOWN_LEFT=3
DOWN=4
DOWN_RIGHT=5
RIGHT=6
UP_RIGHT=7
START=8
SELECT=9
LEFT_BUTTON=10
RIGHT_BUTTON=11
A=12
B=13
X=14
Y=15
VOL_UP=16
VOL_DOWN=17
JOY_CLICK=18
El sonido funciona normalmente en Pygame con los sonidos en .wav y .ogg Al principio de tu programa tienes que llamar a pygame.mixer.init(), quizá sea eso lo que te falte.
En http://globus.upc.es/~juanvvc/downloads/download.php?file=libgp2x.zip puedes encontrar mi librería para Pygame para la Gp2x, que no es más que una colección de funciones útiles en muchos juegos (manejo de entrada Gp2x/ordenador, menúes, pausa y volumen automático...) También incluye juegos de ejemplo como una modificación/mejora de Pytris, Pong, Reversi y Crashcolors.
gracias, veré si soy capaz xD.. otra cosa, es posible usar la gp2x a 720xloquesea por la salida tv con pygame?
Sí, Pygame soporta la salida de TV a 320x240 sin que tengas que hacer nada en tu juego. Simplemente activa la salida de TV en el menú de configuración de la consola antes de lanzar tu juego. Comparándolo con lo que ves en la pantalla, pierdes las últimas 10 columnas (más o menos) de pixeles de la derecha.
veamos.. un fragmento de la parte del motor que especifica las teclas...
keymap = dict(
focus_left = [ 'K_LEFT', 'joy_left' ],
focus_right = [ 'K_RIGHT', 'joy_right' ],
focus_up = [ 'K_UP', 'joy_up' ],
focus_down = [ 'K_DOWN', 'joy_down' ],
button_select = [ 'mouseup_1', 'K_RETURN', 'K_KP_ENTER', 'joy_dismiss' ],
)
con cargar tu gp2x.py junto al init del script, bastaria con añadir 'gp2x.UP' o algo asi?
Dependería de cómo utilizas después la variable keymap y si inicializas el joystick, pero si es como parece sí, debería bastar. De hecho, si solo utilizas las constantes de botones te recomiendo que las pongas en un archivo aparte (o en el mismo programa principal) y solo importes ése, para ahorrar memoria.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.