Como reagregar objetos de una Clase en pygame

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

Como reagregar objetos de una Clase en pygame

Notapor arielgrageda » Mar Nov 06, 2012 5:17 am

Hola amigos, sólo tengo una consulta, ¿Cómo puedo hacer? para re-agregar un objeto (un personaje player) que ya salio del rango X o Y de la ventana creada. Agradecería su ayuda, gracias.
arielgrageda
 
Mensajes: 1
Registrado: Mar Nov 06, 2012 5:09 am

Re: Como reagregar objetos de una Clase en pygame

Notapor kiketom » Mar Nov 06, 2012 10:43 am

¿quieres que siempre permanezca en la pantalla?
Avatar de Usuario
kiketom
 
Mensajes: 82
Registrado: Lun Ene 03, 2011 3:01 pm
Ubicación: Valencia, España

Re: Como reagregar objetos de una Clase en pygame

Notapor Barajas » Mar Nov 06, 2012 1:41 pm

No estoy muy seguro de a que te refieres, seria muy útil que mostraras un poco del código, o seas más especifico.

En cualquier forma, responderé como entedi...

En teoría, los objetos no salen de pantalla a menos de que sean destruidos explícitamente. Puedes imaginar la pantalla como una ventana que te permite ver el mundo, si un objeto "sale" de la ventana, continua en el mundo.

Si no lo has destruido, solo tienes que darle a sus coordenadas X, Y, valores que estén en el interior de nuevo....

Mira este muy sencillo ejemplo.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygame

GRIS = (100,100,100)
AZUL = (40,40,100)

def main():
pygame.init()
pantalla = pygame.display.set_mode((256,256))
delay_frames = (1000/28)
#defino una posición para el personaje
x = 100
y = 100
#y una variable que altera su movimiento
dx = 2
#variable que hace funcionar al bucle...
hacer = 1
while hacer:
#fijamos un numero de frames
pygame.time.delay(delay_frames)
#gestionamos eventos, para poder cerrar el programa.
for event in pygame.event.get():
if event.type == pygame.QUIT:
hacer = 0
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
hacer = 0
#dibujamos las cosas en pantalla...
pantalla.fill(GRIS) #llenamos la pantalla de un color gris.
#dibujamos un circulo azul con la posición
pygame.draw.circle(pantalla, #dibujarlo en la pantalla
AZUL, #de color azul
(x,y), #en la posición x,y
10, #con radio 5
0) #que este "llena"
#agrego a x el valor de dx
x = x+dx
#si su posición x es menor a -30, o su posición en x>286
if x<-30 or x>286:
dx=-dx #esto invierte la dirección

pygame.display.update()

pygame.quit()

main()


Observa que si lo ejecutas, el circulo sale de la pantalla, pero pronto regresa al interior.

Si no es esto a lo que te referías, espero que seas un poco más especifico con tu problema por favor :)
Vi veri universum vivus vici
Avatar de Usuario
Barajas
 
Mensajes: 209
Registrado: Mar Nov 16, 2010 12:06 am


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado