Mover Personaje con el Teclado

Solicite, consulte o publique recursos de referencia para desarrolladores.

Mover Personaje con el Teclado

Notapor PLC » Lun Feb 11, 2008 12:11 am

Por favor disculpeme por que se que el sitio brinda gran cantidad de informacion, pero yo soy novato en este mundo y de veras que me pierdo a la hora de empezar hacer las cosas.

Lo que quiero hacer es cargar una imagen en pantalla, y poder moverla con las teclas K_LEFT, K_RIGHT, K_UP, K_DOWN.

Ya logre cargar la imagen es muy facil pero no logro hacer que se mueva
el ejemplo de car que esta en el sitio me da el error

AttributeError: Stage instance has no attribute 'draw'

ya se que con la funcion pygame.key.get_pressed() obtengo la tecla que ha sido presionada pero bueno he tratado de mil maneras y no logro mover la imagen
PLC
 
Mensajes: 21
Registrado: Lun Feb 11, 2008 12:02 am

Notapor hugoruscitti » Lun Feb 11, 2008 1:26 pm

Saludos, por lo que veo el mensaje de error parece de
python, así que asumo estás usando pygame.

Te dejo un ejemplo sencillo que permite mover una imagen
por la pantalla usando los direccionales de teclado. Ten en cuenta
que necesitas una imagen llamada "personaje.png" para que
el programa te funcione correctamente.

Código: Seleccionar todo
# -*- encoding: utf-8 -*-
import pygame

screen = pygame.display.set_mode((320, 240))
personaje = pygame.image.load('personaje.png').convert_alpha()
quit = False
x, y = 0, 0
color_fondo = (200, 200, 200)


while not quit:

    # Atiende los eventos de la aplicacion. Es importante
    # utilizar esta rutina en todo juego, de otro modo la
    # función "pygame.key.get_pressed" no funcionará.
    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            quit = True

    # Realiza los movimientos del personaje con teclado
    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        x -= 1
    elif keys[pygame.K_RIGHT]:
        x += 1

    if keys[pygame.K_DOWN]:
        y += 1
    elif keys[pygame.K_UP]:
        y -= 1


    # Actualiza la pantalla, imprimiento el personaje y limpiando
    # todo el fondo de color gris.
    screen.fill(color_fondo)
    screen.blit(personaje, (x, y))
    pygame.display.flip()
    pygame.time.wait(10)


Esta es solo una de las tantas formas que puedes utilizar
para mostrar un personaje animado, no es la única. Igualmente
te servirá para comenzar (o eso espero...).

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

Gracias

Notapor PLC » Mar Feb 12, 2008 8:53 am

Ok gracias era lo que queria lograr.
PLC
 
Mensajes: 21
Registrado: Lun Feb 11, 2008 12:02 am

Notapor PLC » Mar Feb 12, 2008 10:04 am

Hay algun lugar donde se pueda descargar el juego de el monito y los cazadores. Que explicas algo de como hacerlo en el articulo como desarrollar juegos con python y pygame
PLC
 
Mensajes: 21
Registrado: Lun Feb 11, 2008 12:02 am

Notapor hugoruscitti » Mar Feb 12, 2008 1:07 pm

PLC escribió:Hay algun lugar donde se pueda descargar el juego de el monito y los cazadores. Que explicas algo de como hacerlo en el articulo como desarrollar juegos con python y pygame


Sí, el programa de ejemplo está al final de la siguiente página:

http://www.losersjuegos.com.ar/referenc ... f_2007.php

también están las diapositivas y una versión para descargar
del video.

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


Volver a Artículos, traducciones y documentación

¿Quién está conectado?

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

cron