Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





pyBta. biblioteca para crear pequeñas aplicaciones y mini juego.

Iniciado por serieB, 25 de Mayo de 2013, 10:20:32 PM

« anterior - próximo »

serieB

Presentación.

PyBta es mi laboratorio de estudio personal, donde aprendo a programar pequeñas aplicaciones y mini juegos de manera propia y bastante artesanal. Eso, si sin dejar en el camino la idea de ir creando una biblioteca donde engrosar todos mis avances y así, facilitarme el trabajo para un futuro.

PyBta no pretende ser un referente ni una biblioteca que cumpla todos los estándares del mercado (Los profesionales están para hacer dinero y un tipo como yo está para divertirse y disfrutar de su pequeña idea)

La descarga que aquí dejo hace referencia a la versión
0.3.1 la cual es la versión más avanzada por el momento.

https://www.safecreative.org/work/1305255157721-pybta0-3-1

si  alguien quiere dar un vistazo a versiones anteriores, puede hacerlo desde la página de www.pygame.org, donde subí el resto de versiones. Concretamente en la siguiente dirección

http://www.pygame.org/project-pyBta_0.1-2261-4551.html

Ideas y características.

Paso a explicar un poco de que va esta idea, tengan en cuenta, por favor, que yo no he estudiado nunca programación a fondo y algunos términos, e ideas pueden estar equivocados.

-PyBta nace con la idea de construir algo sencillo y funcional. Que no pretenda ser la base de grandes proyectos, pero con la idea de poder disfrutar de ideas pequeñas de manera rápida y sencilla, por lo menos, para  mí.

-Escrita en pyhon, el cual es un lenguaje sencillo y fácil de entender, otros utilizarían lenguajes más potentes, pero para esta idea creo que python es más que suficiente.

-Se apoya en pygame para las tareas de dibujado, manejo del frame rate, creación de ventanas... Esta es una biblioteca estable y de sobra conocida. En cuanto a potencia y prestaciones opino igual que en el punto anterior y creo que pygame es más que suficiente para mantener la biblioteca.

-Totalmente construida en castellano, Se que esta idea puede echar para atrás a mucha gente. Mirad, como ya dije, yo solo pretendo divertirme y la verdad es, que para pasar un rato, si es verdad que me mola coger la biblioteca y usar mi propio idioma para comunicarme con ella.

-Total o casi totalmente multihilo: En su versión 0.3 pyBta hace correr varios de sus módulos en hilo diferentes, permitiendo así, dar una sensación más fluida y una idea un poco más curiosa.

-Basada en módulos (o eso intento) Paso a contar alguno de ellos a continuación.


-Modulo de controles:
   *Compuesto: de botones, interruptores, cajas de selección barras de
         desplazamiento, campos de texto, formularios o diálogos...

   *manejo general de atributos para todos ellos: pyBta hace que todos sus controles    
         partan del objeto BtaControl, lo cual hace que cada control venga con una    serie
         de atributos ya predefinidos.

   *Muchos atributos y constantes enfocados a cambiar la visual de un control: color del frente,
         color del fondo, estilos para el borde de un control, alineados, diferente tipos de decorado para el control...

   *capacidad para manejar diálogos modales: esto hace que todos los diálogos y formularios anteriores
         al dialogo modal, queden inactivo mientras dure la vida del este.

   *Capacidad para mezclarse con las escenas pero sin formar parte real de ellas:    Los controles siempre
         van aparecer sobre las escenas, pero nunca forman parte real de ellas.

-Modulo de escenas, bastante más joven, este por ahora mantiene:
   *El objeto ente: el cual hace referencia al típico sprite de otras bibliotecas, el objeto escena, el cual es el
         encargado de mantener a los entes creados.
   
   *El gestor de escenas: el cual es un objeto basado en el patrón singlenton y es el encargado de almacenar,
         intercambiar o eliminar escenas dentro de pyBta.
   
   *Biblioteca, con algunos entes ya diseñados para hacer alguna prueba rápida. Por ahora son mas bien pocos
         y sujetos siempre a mi conciencia de explorador  y aprendiz.
   
   *Decorado, este objeto aun es una idea muy joven pero pretende ser el modelo de fondo de escena que
         pretendo seguir usando en un futuro, por ahora esta habilitado el decorado simple el cual es una imagen
         que puedes cargar dentro de el, si la imagen es más grande que la escena el decorado se encargará de mantener
         el desplazamiento.

   *Actividades:Esta idea sirve para dotar a los entes con pequeños comportamientos
         que permitan facilitar la construcción de ideas sencillas.

-Módulo para la detección de colisiones: en esta versión pyBta permite detectar colisiones de tipo, punto dentro, colisión entre elementos de manera simple (teniendo solo en cuenta el ancho, el alto y la posición de los elementos) Colisiones entre rectángulos o entre círculos internos a un ente. Este módulo esta todavía en un estado bastante cambiante.

-Módulo para la gestión de eventos: Basado en el patrón observer. Con este módulo pyBta es capaz de capturar varios eventos de manera sencilla.
   *Eventos de ámbito global:  Pulsación de una tecla, algún desplazamiento del ratón sobre la ventana, se redimensiona
         la ventana o el propio evento salir...

   *Eventos de ámbito general: Se entra en un elemento, se desplaza dentro o fuera de el, se hace doble click sobre algo...

   *Eventos de ámbito interno al módulo de escena o al de controles: Estos eventos cubren tareas especificas para
         uno u otro módulo. Por ejemplo, cuando una barra de desplazamiento cambia su valor esta emite su evento
         EventoTrocarValor. Pues este evento es propio a la biblioteca de controles y no puede ser usado ninguna otra cuestión.

   *Eventos de usuario: En esta versión pyBta permite crear y destruir manejadores de    eventos al vuelo.
         Estos son guardados dentro del ámbito manejadores de usuario.

-Módulo planificador: Con este módulo se pueden programar tareas para que pyBta después las ejecute de manera controlada. Ya sea, después de un tiempo, o en intervalos de tiempo o si una condición se da por cierta...

-Módulo de ejemplos: se puede acceder a el mediante la sentencia pyBta.ejemplos().
Este modulo intenta mostrar un poco que es lo que se puede y también lo que no se puede hacer con pyBta.

Creo que esto es lo que en reglas generales se puede contar de pyBta y creo que ya he dado bastante la brasa.

En cuanto a colaboración. Entiendo que esta es una idea personal, pero si alguien, de verdad quiere dar alguna opinión, algún aporte, alguna idea o incluso alguna critica constructiva yo verdaderamente encantado y dispuesto a aprender de esto.

A los que hayan leído toda esta chapa hasta el final. Gracias por su atención.

serieB

Buenas. Aquí dejo un enlace a mi proyecto en facebook, donde voy mostrando imágenes y explicando lo que voy haciendo con la biblioteca.

https://www.facebook.com/pages/Proyecto-pybta/287018534757307

serieB




Pues aquí sigo con mi idea, utópica, de tener una biblioteca que me permita crear juegos a mi manera. Con ella exploro, aprendo y disfruto, de este hobby que ya me acompaña durante bastante tiempo.

La idea para esta versión, a sido buscar más estabilidad y velocidad, sobre todo, en el modulo, escenas, que es el que más picado me tiene desde hace bastante. También he aprovechado el tiempo para testear la biblioteca en Windows y hacer que funcione de la misma manera que la veo funcionar en Ubuntu.

Dejo aquí un enlace directo a mi blog, donde se encuentra la a descarga, el texto sobre todos los cambios realizados más toda la información que voy logrando ofrecer sobre como enfoco la idea y como hacerla funcionar.

http://proyectobta.blogspot.com.es/2013/07/nueva-version-pybta-033-descarga.html

Algunas imagenes de ejemplos que voy creando con pyBta:

Rambito en acción:


Opciones rambito en acción:


Creando un efecto parallax:


Saludando:


Módulo, controles:









Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.