como manejo un sprite sheet con PySFML?

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

como manejo un sprite sheet con PySFML?

Notapor shackra » Vie Ene 07, 2011 3:16 pm

buenas a todos! :D

hace unos días hice varios ejemplos con PySFML, algo... tontos pero muy útiles para desenmarañar ese misterio que rodea este binding (se escribe así?) de SFML para python, pero ahora me surge una duda...

¿como puedo dibujar solo una seccion de un sprite sheet en la pantalla del juego? por ejemplo, usando estas imágenes de Doraemon (el gato cósmico, glol). ya me fije en la referencia de las clases de PySFML pero no encuentro nada significativo, así que espero que alguien me indique como hacer lo que necesito :p.

Imagen

gracias de antemano! :D
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica

Re: como manejo un sprite sheet con PySFML?

Notapor Juanxo » Vie Ene 07, 2011 5:49 pm

básicamente creo que tienes los mismos métodos que en C++, y en C++ tienes uno que se llama setSubRect dentro de la clase sprite, que creo que es los que buscas.

Y como que no hay mucha documentación de PySFML, tienes el código entero xD
Avatar de Usuario
Juanxo
 
Mensajes: 437
Registrado: Sab Ene 31, 2009 2:34 am
Ubicación: Madrid(España)

Re: como manejo un sprite sheet con PySFML?

Notapor .teri » Vie Ene 07, 2011 6:03 pm

La documentación de c++ te sirve para python sin apenas diferencias. También te puedes ayudar con un intérprete de python aparte. Cargas la biblioteca en python y te miras con help() cada elemento del módulo.
.teri
 
Mensajes: 38
Registrado: Dom Oct 01, 2006 4:41 pm

Re: como manejo un sprite sheet con PySFML?

Notapor shackra » Vie Ene 07, 2011 10:57 pm

de hecho, yo hice este documento con la referncia de PySFML que encontre en el SDK :p
http://hxc_wiki.byethost7.com/doku.php/ ... pysfml_doc

muy bien, gracias por vuestras respuestas, intentare hacer algo con eso y veremos que resulta!
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica

Re: como manejo un sprite sheet con PySFML?

Notapor hugoruscitti » Sab Ene 08, 2011 2:02 am

shackra escribió:¿como puedo dibujar solo una seccion de un sprite sheet en la pantalla del juego? por ejemplo, usando estas imágenes de Doraemon (el gato cósmico, glol). ya me fije en la referencia de las clases de PySFML pero no encuentro nada significativo, así que espero que alguien me indique como hacer lo que necesito :p.


Hace un tiempo escribí algo en el wiki de SFML para hacer
eso:

http://www.sfml-dev.org/wiki/en/sources/spritesheets

Usé SetSubRect como te comenta Juanxo.

Avisanos si te sirve...
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: como manejo un sprite sheet con PySFML?

Notapor shackra » Sab Ene 08, 2011 5:54 am

hugoruscitti escribió:
shackra escribió:¿como puedo dibujar solo una seccion de un sprite sheet en la pantalla del juego? por ejemplo, usando estas imágenes de Doraemon (el gato cósmico, glol). ya me fije en la referencia de las clases de PySFML pero no encuentro nada significativo, así que espero que alguien me indique como hacer lo que necesito :p.


Hace un tiempo escribí algo en el wiki de SFML para hacer
eso:

http://www.sfml-dev.org/wiki/en/sources/spritesheets

Usé SetSubRect como te comenta Juanxo.

Avisanos si te sirve...

mira tu, sabia que hugoruscitti salvaria mi dia, pero me dije: "no, no, no, no te quedes ahi esperando a que alguien venga y te de todo masticado solo para que tu tragues, ¡Ponte las pilas (glol, pilas el engine xD) y trata de hacer algo tu mismo!!" y ahí me la pase unas horas, mirando codigo sobre lo que me dijo Juanxo, probando en la shell interactiva hasta que.... ¡bingo!:

Imagen

de todas maneras gracias chicos, no sé donde estaría si no fuera por ustedes ^_^, con cada duda resuelta siento que avanzo cada vez mas hacia mi sueño, ser un programador (y diseñador, ya que las ideas me rondan la cabeza) de vídeojuegos!! :D

aquí el codigo que logre, espero que lo disfrutéis!:
Código: Seleccionar todo
from PySFML import sf
import random, os

# Como que me da mucha pereza y usare los objetos de color de sf.Color,
# Vamos a usar variables para esos objetos de color.
Black = sf.Color.Black

# creamos la ventana del juego
ventana = sf.RenderWindow(sf.VideoMode(800,600), "Prueba 4 con PySFML por Shackra")

# obtenemos el input de los eventos de la ventana creada, mira sf.Input para mas informacion
# parece ser que no es necesario declarar este objeto dentro del loop para actualizar su estado...
entrada = ventana.GetInput()

#intentemos usar la clase sf.Sprite.... cargamos una imagen
#cargamos primero una imagen con la respectiva clase...
imagensheet = sf.Image()
imagensheet.LoadFromFile("doraemon.png")

# ahora usamos esa imagen cargada y creamos un Sprite
doraemon = sf.Sprite(imagensheet)
# sf.IntRect(left, top, right, bottom) <--- por si te lo preguntabas...
doraemon.SetSubRect(sf.IntRect(0, 0, 43, 40))

# iniciamos el loop del juego
salir = False
while not salir:
    eventos = sf.Event()
    while ventana.GetEvent(eventos):
        if eventos.Type == sf.Event.Closed:
            salir = True

        if eventos.Type == sf.Event.KeyPressed:
            if eventos.Key.Code == sf.Key.Escape:
                salir = True

       

        #limpiamos la ventana y dibujamos los objetos en la pantalla
        ventana.Clear(Black)
        # para dibujar el sprite solo pasamos el objeto que habiamos creado anteriormente, asi de facil :p
        ventana.Draw(doraemon)
        ventana.Display()

ventana.Close()


bajate tambien esta imagen y ponla junto al script de python! :O
Imagen

saludos gente, en el proximo ejemplo, Doraemon caminara!! xD
Avatar de Usuario
shackra
 
Mensajes: 308
Registrado: Lun Jun 15, 2009 4:10 pm
Ubicación: Costa Rica


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

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

cron