He creado un pequeño juego de naves espaciales utilizando los eventos del mouse es decir "pygame.mouse.MOUSEBUTTONDOWN" y demás eventos del mouse para el movimiento y disparo, los resultados más o menos son aceptables pero se me complica la cosa al principio del juego de prueba cuando quiero que el usuario ingrese su nick o nombre, creando una clase para imprimir el texto directamente pantalla un amigo me dijo si me servía este código que encontró en la red ante todo perdonar si hay algunas tabulaciones mal son los editores tanto GEANY como GEDIT, con perdón son una porqueria para python cuando te das cuenta esta todo el código mal pero mal y solo te marca errores de normal utilizo ECLIPSE pero hoy voy pegado de tiempo:
Código Python:
Ver original
import pygame from string import letters from string import whitespace try: import android except ImportError: android = None pygame.init() size = width, height = 640, 480 #Colors black = (0, 0, 0) white = (255, 255, 255) green = (0, 255, 0) blue = (0, 0, 255) red = (255, 0, 0) #Esta es la clase que os comentaba class Text: def __init__(self, FontName = None, FontSize = 20): pygame.font.init() self.font = pygame.font.Font(FontName, FontSize) self.size = FontSize def render(self, surface, text, color, position): text = unicode(text, "UTF-8") x, y = position for i in text.split("\r"): surface.blit(self.font.render(i, 1, color), (x, y)) y += self.size def main(): if android: android.init() android.map_key(android.KEYCODE_BACK, pygame.K_ESCAPE) screen = pygame.display.set_mode(size) text = Text("FreeSansBold.ttf", 30) s = "" pygame.key.set_repeat(100) while True: # Android-specific: if android: if android.check_pause(): android.wait_for_resume() for event in pygame.event.get(): if event.type == pygame.QUIT: exit() if event.type == pygame.KEYDOWN: # Uno de mis intentos if android: android.show_keyboard() android.map_key(android.KEYCODE_W, pygame.K_w) android.map_key(android.KEYCODE_A, pygame.K_a) android.map_key(android.KEYCODE_D, pygame.K_d) if event.unicode in letters or event.unicode in whitespace: s += str(event.unicode) if event.key == pygame.K_BACKSPACE and len(s) > 0: s = s[:-1] elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE or event.type == pygame.QUIT: break screen.fill(white) text.render(screen, s, black, (0, 0)) pygame.display.flip() # This isn't run on Android. if __name__ == "__main__": main()
Trás repetidos intentos de convertir el teclado del PC en el Android lo único que he conseguido es que me aparezca y desaparezga el teclado en Android pero sin imprimirme las letras en el PC el código funciona de maravilla, por favor ayuda.
Un saludo amigos...