pygame is
Python
Simple DirectMedia Layer
 
 
pygame.org is
Site Swing
pyBta

pyBta - 0.3

Jesús Hernández Paredes (jesushernandezparedes)

Tags:

Description

pyBta is my personal playground, where I learn to program small applications and mini games, so own and quite traditional. PyBta not a tool to use and is, rather, a library that allows me to explore and poke about things I do not understand and I want to learn. So not intended as a competitor to other existing libraries but a contribution from someone who simply wants to deliver his idea. Features: -Written in pyhon, which is easy to understand language. -Use pygame for drawing tasks, management frame rate, reading events ... -Fully written in Castilian. Name objects, functions, attributes ... -Based on modules. Module controls scene module, module for collision detection, event module ... -With several global objects that facilitate communication between the different modules. BtaMotor himself, the event object, the object scheduler, scene management ... Biblioteca pensada para la creación de pequeñas aplicaciones y juegos. PyBta nace con la idea de crear una biblioteca que, poco a poco, se vaya haciendo sencilla y amena para la gente que quiere diseñar sus ideas pero no tengan grandes conocimientos sobre programación (Es decir, nace para un tipo como yo) Características: -Escrita en pyhon, el cual es un lenguaje fácil de entender. -Usa pygame para las tareas de dibujo, manejo del frame rate, lectura de eventos... -Totalmente escrita en castellano. Nombre de objetos, funciones, atributos... -Basada en módulos. Módulo de controles, módulo de escenas, módulo para la detección de colisiones, módulo de eventos... -Con varios objetos globales que facilitan la comunicación entre los diferentes módulos. El propio BtaMotor, el objeto eventos, el objeto planificador, el gestor de escenas...

Changes

Y aquí vuelvo con pyBta, esta vez en su versión 0.3 (Me va resultando graciosa la idea) En esta versión he decidido concentrarme mucho más en el sistema de eventos que quería implementar en la biblioteca, debido a que el anterior se emborronaba a la hora de querer ir añadiendo nuevos eventos. Para esta idea me he concentrado bastante en aprender varias cosas sobre el manejo de hilos, como funcionan estos en python y como aplicarlos de manera exitosa dentro de pyBta. El primero de estos hilos es el constructor de eventos, el cual se encarga en todo momento de leer y construir una lista de eventos que la biblioteca pueda entender. Después esta lista es invocada por el segundo hilo, llamado, el disparador, que se encarga de leer la lista y enviar cada evento a su manejador correspondiente. Estos manejadores también trabajan de manera independiente y de encontrar una respuesta correcta de algún evento recibido, se encargarán de ejecutarla en otro hilo paralelo. Con todo esto he conseguido desacoplar muchas de las tareas que pyBta debía realizar y también he logrado un sistema de eventos que puede albergar incluso más de lo que yo me esperaba. El modulo de controles también lo he tocado bastante, adaptándolo al nuevo modulo de eventos. También he cambiado bastante el objeto dialogo y a nacido el control formulario. Dentro de este modulo he construido un par de objetos globales. El primero es el objeto foco, el cual se encarga de manera global a todos los controles, de saber cual es el control activo en cada momento. El segundo es el objeto pintor, el cual es el encargado de limpiar la pantalla y dibujar sobre ella los controles necesarios. Otra de guerras abiertas para esta versión a sido empezar a meterme, más seriamente, con el modulo de escenas. Este módulo a sufrido un montón de cambios. Ahora este sistema contiene el objeto gestorDeEscenas. Este objeto global es capaz de gestionar las escenas de un juego de manera mucho más sencilla, permitiendo almacenar, poner en marcha, borrar o eliminar escenas desde cualquier punto del programa sin que las escenas tengan que conocerse entre si. El modulo, en tiempo de ejecución, se sustenta mediante el objeto centralita y el objeto dibujante. Estos objetos funcionan en hilos diferentes y se encargan de desacoplar las tareas de dibujado y actualización lógica de una escena. Con esta idea he conseguido aportar mucha más velocidad a este módulo (Una prueba esta en el ejemplo rambito en acción, el cual soporta muchas mas animaciones en pantalla sin dar la sensación de caída en el fps. Otro de los objetos nuevos para este modulo es el objeto decorado, que se encarga de sustentar el fondo de las escenas de manera sencilla. Tengo pensado habilitar varios tipos de decorados, pero por ahora solo está disponible el BtaDecoradoSimpleImagen. Este objeto ya esta preparado para sustentar el scroll dentro de una escena. También he portado todos los ejemplos de pyBta 0.1 a esta versión y he mejorado bastante los ejemplos ya existentes. Por ejemplo Rambito en accion ya soporta una escena para el menú y otra para el juego y también muestra como unir de manera exitosa escenas y controles para generar los menús de tus juegos de forma simple y elegante. También empiezan a nacer en esta versión el objeto teclado y el objeto cursor, que sirven para leer el estado de estos dos controladores de manera directa. En cosas malas esta el caso de no haber activado para esta versión de pyBta una nueva versión de BtaLoop, pero espero que para la próxima tenga resuelto este problema pues este pequeño programa entra dentro de la idea de biblioteca que yo quería crear. Otros errores creo que está en el objeto encargado de dibujar las escenas el cual se queda colgado de vez en cuando y otro conocido en el sistema de profundidad, para los controles, el cual se vuelve loco si existen demasiados controles en pantalla. Para esta versión no he actualizado la documentación para nada, por lo cual esta se encuentra muy poco actualizada. Se debe tener en cuenta que esta versión a sido programada y testeada bajo un sistema Ubuntu y no se que tal se portara en otros ordenadores o sistemas operativos.

Links

Home Page: http://proyectobta.blogspot.com.es/
Source: https://www.safecreative.org/work/1305195125248-pybta0-3

Screenshot


click to view original size

Releases

pyBta - 0.3.3 - Jul 7, 2013
pyBta - 0.3.2 - Jun 9, 2013
pyBta - 0.3 - May 19, 2013
pyBta - 0.2 - Jan 26, 2013
pyBta - 0.1 - Apr 2, 2012

Pygame.org account Comments

If you wish to leave a comment with your pygame.org account, please sign in first.

No user comments have been submitted.
spotlight

 
our projects
pygame.org welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
 
recent releases
Apr 19, 2014

Apr 16, 2014


Apr 13, 2014

Apr 9, 2014

Mar 18, 2014


Mar 15, 2014


Mar 14, 2014

Mar 13, 2014

Mar 11, 2014

... more!
 
for pygame related questions, comments, and suggestions, please see help (lists, irc)