pygame android eventos desde el teclado

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

pygame android eventos desde el teclado

Notapor dimoni73 » Vie Sep 06, 2013 2:01 pm

Hola estimados amigos ante todo dar las gracias Hugo y el equipo de moderadores por haberme aceptado en el foro, hace tiempo que llevo siguiéndolo y me ha ayudado mucho, hoy en día estoy en un nivel medio en Python he probado otros lenguaje pero Python es el lenguaje más amigable, legible y potente que muchos otros dicho esto la cuestión es que estoy programando algún jueguecillo en Pygame para ver como interactua con Android.

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 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:

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...
dimoni73
 
Mensajes: 4
Registrado: Jue Sep 05, 2013 6:57 pm

Re: pygame android eventos desde el teclado

Notapor shackra » Mié Sep 11, 2013 1:10 am

Primero, bienvenido!

Segundo, este tema esta en el subforo equivocado, pido que lo muevan.

Tercero con respecto a éste trozo de código:

try:
import android
except ImportError:
android = None


¿De donde proviene el modulo android que usas dentro de Python?
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica

Re: pygame android eventos desde el teclado

Notapor dimoni73 » Mié Sep 11, 2013 11:38 am

Ante todo gracias por responder, respecto a tu pregunta proviene del dispositivo android, te explico tengo instalado python 2.6 y el 2.7, el primero 2.6 tengo instalado el modulo android este lo utilizo para trabajar con SL4A - Python For Android donde interactuo desde el pc con el dispositivo.El segundo el 2.7 lo utilizo para Pygame - pgs4a-0.9.4 he intentado instalar en este también el módulo android pero al importarlo me lanzaba errores, me he dado cuenta que es por que android.py ya está en pgs4a-0.9.4 ya que dentro de esta carpeta si que lo importa pero NO SON LOS MISMOS MODULOS ANDROID. Los juegos los creo fuera de la carpeta pgs4a-0.9.4 por eso no puede provenir del 2.7, no se si abré respondido a tú pregunta.
¿Que debo hacer?

Si no lo entiendes pruguntame por favor estoy un poco confuso con los módulos, sé que Pygame Android NO ES COMPATIBLE CON Python For Android.

Ayuda Por Favor.
UN SALUDO COMPI...
dimoni73
 
Mensajes: 4
Registrado: Jue Sep 05, 2013 6:57 pm

Re: pygame android eventos desde el teclado

Notapor shackra » Jue Sep 12, 2013 3:15 am

dimoni73 escribió:sé que Pygame Android NO ES COMPATIBLE CON Python For Android.[/b]


Quizas sea eso precisamente el problema que te esta matando. Yo te recomendaria estudiar C++ y escribir juegos con Cocos2D-X, eso es lo que estoy haciendo yo (estudiar C++).

A veces es necesario meditar si una forma de hacer las cosas es mejor que las demás formas de hacer las cosas.
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica

Re: pygame android eventos desde el teclado

Notapor dimoni73 » Jue Sep 12, 2013 11:19 am

Gracias shackra por tú consejo en realidad cuando empezé en el mundo de la programación el C++ fué el primer idioma que estudié, pero al descubrir Python lo dejé, en realidad quería volver a estudiarlo cuando tuviese un nivel más avanzado en Python para no liarme, tengo un amigo que domina 4 lenguajes y aveces cuando estamos haciendo alguna prueba en python se le vá la cabeza sin querer mete algún código de Java, Perl, ect...

Ojala no hubiese dejado de programar en el BASIC de mi Spectrum 64k en los 80 ya sabría unos cuantos lenguajes.

GRACIAS POR TU CONSEJO.

UN SALUDO....
dimoni73
 
Mensajes: 4
Registrado: Jue Sep 05, 2013 6:57 pm

Re: pygame android eventos desde el teclado

Notapor shackra » Vie Sep 13, 2013 3:03 am

Si quieres retomar C++, yo te recomendaría leer Pensar en C++ Volumen I, yo estoy por el capitulo 3 haciendo los ejercicios :D
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica

Re: pygame android eventos desde el teclado

Notapor dimoni73 » Lun Sep 16, 2013 5:36 pm

Gracias por tu ayuda compi, estoy flipando desde hace tres días estoy repasando los apuntes que hice en su día de c++ y haciendo algún programilla el código me sale solo SE QUE PYTHON ESTÁ programado en C++ pero no sabia que HABIA TANTA SIMILITUD
te recomiendo que veas este tutorial de Pau Fernández es profe de universidad español que es una caña:
[url]
https://www.youtube.com/watch?v=i0dovsD ... 9A8E1C4583[/url]
APRENDERÁS MUCHO......
UN SALUDO.....
dimoni73
 
Mensajes: 4
Registrado: Jue Sep 05, 2013 6:57 pm


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 30 invitados