Gracias Gracias:  0
Página 2 de 2 PrimerPrimer 12
Resultados 16 al 23 de 23

Tema: ayuda con pygame

  1. #16
    Vampiro Giovanni Avatar de Pepius
    Fecha de ingreso
    Feb 2004
    Ubicación
    Guadassuar, Valencia
    Mensajes
    4,998

    Respuesta: ayuda con pygame

    Cita Iniciado por Caronte Ver mensaje
    Je, Je... pequeño saltamontes, yo puedo hacer un juegazo cuando quiera y sin salir de Blender y el que no lo crea, que me rete si tiene webs
    Tentador! Concurso de minigames hecho con el GE, ya!

  2. #17
    Senior Member Avatar de Sadyk
    Fecha de ingreso
    Jun 2008
    Ubicación
    madrid
    Mensajes
    517

    Respuesta: ayuda con pygame

    ola, ahora me estoy intentando centrar en los rect, para quien no lo sepa es un module de pygame a partir del cual se crean rectángulos inmaginarios para detectar colisiones.
    bueno, a partir de la siguiente función que me venia en la página oficial de pygame:
    pygame.Rect(left, top, width, height): return Rect
    yo escribi lo siguiente en el codigo:
    self.rect = pygame.Rect(235, 775, 50, 50)
    pensando que left y top son las coordinadas del centro y width y height son el alto y el ancho del rectángulo. es decir, yo me inmagino que será algo así:
    ________________________
    | |
    | |
    | |
    | |
    | .(centro) |(height)
    | |
    | |
    | |
    |_______________________|
    (width)
    si estuviera en lo cierto, me debería funcionar ya las colisiones, pero no es así, ni tampoco me sale un error, porlocual deben estar mal colocadas. alguien sabe como posicionar bien los rectsí
    DICEN que tras la muerte está la vida eterna. Yo prefiero ensañarme con el cuerpo.

  3. #18
    Vampiro Giovanni Avatar de Pepius
    Fecha de ingreso
    Feb 2004
    Ubicación
    Guadassuar, Valencia
    Mensajes
    4,998

    Respuesta: ayuda con pygame

    Left y top son las coordenadas de la esquina superior izquierda (top left).

  4. #19
    Senior Member Avatar de Sadyk
    Fecha de ingreso
    Jun 2008
    Ubicación
    madrid
    Mensajes
    517

    Respuesta: ayuda con pygame

    no ha quedado bien el cubo, no se porque ... pero se pilla la idea, no?
    DICEN que tras la muerte está la vida eterna. Yo prefiero ensañarme con el cuerpo.

  5. #20
    Senior Member Avatar de Sadyk
    Fecha de ingreso
    Jun 2008
    Ubicación
    madrid
    Mensajes
    517

    Respuesta: ayuda con pygame

    la esquina superior izquierda... de la pantalla?
    DICEN que tras la muerte está la vida eterna. Yo prefiero ensañarme con el cuerpo.

  6. #21
    Vampiro Giovanni Avatar de Pepius
    Fecha de ingreso
    Feb 2004
    Ubicación
    Guadassuar, Valencia
    Mensajes
    4,998

    Respuesta: ayuda con pygame

    Del rectángulo.

  7. #22
    Senior Member Avatar de Sadyk
    Fecha de ingreso
    Jun 2008
    Ubicación
    madrid
    Mensajes
    517

    Respuesta: ayuda con pygame

    y como se sitúa el rectángulo donde tu quieres? usando move _ip?
    DICEN que tras la muerte está la vida eterna. Yo prefiero ensañarme con el cuerpo.

  8. #23
    Senior Member Avatar de Sadyk
    Fecha de ingreso
    Jun 2008
    Ubicación
    madrid
    Mensajes
    517

    Respuesta: ayuda con pygame

    perdo, entendi mal tu respuesta XD
    aquí subo el código que me gustaría saber porque r no ocurre nada al chocar mi nave contra un obstaculo. lo posteare en algún otro sitio también:
    import pygame
    from pygame.locals import *

    class prota(pygame.sprite.Sprite):
    def __init__(self):
    pygame.sprite.Sprite.__init__(self)
    self.rect = pygame.Rect(25, 25, 50, 50)
    self.image = pygame.image.load("nave.png")
    self.height = 50
    self.width = 50
    self.x = 210
    self.y = 750
    self.rect = pygame.Rect(self.x, self.y, 50, 50)
    self.key = pygame.key.get_pressed()
    def update(self):
    self.key = pygame.key.get_pressed()
    if self.key[K_RIGHT] and self.x < 370:
    self.x += 6
    if self.key[K_LEFT] and self.x > 0:
    self.x -= 6
    self.y -= 5
    if self.y <= -50:
    self.y = 850
    W.dif += 1
    def draw(self):
    self.rect.move_ip(self.x, self.y)
    W.screen.blit(self.image,(self.x,self.y))
    class obstacle(pygame.sprite.Sprite):
    def __init__(self, px, py):
    pygame.sprite.Sprite.__init__(self)
    self.rect = pygame.Rect(px, py, 50, 25)
    self.state = 1
    self.x = px
    self.y = py
    self.image = pygame.image.load("obstaculos.png")
    def update(self, velocidad):
    if self.x >= 370:self.state = 2
    elif self.x <= 0:self.state = 1
    if self.state == 1:
    self.x += velocidad
    elif self.state == 2:
    self.x -= velocidad

    def draw(self, screen):
    self.rect.move_ip(self.x, self.y)
    screen.blit(self.image,(self.x, self.y))

    class world:
    def __init__(self):
    pygame.init()
    self.blak = (100, 200, 100)
    self.screen_size = (420, 800)
    self.screen = pygame.display.set_mode(self.screen_size)
    pygame.display.set_caption("GAME NAVE")
    self.fondo = pygame.image.load("fondo.png")
    self.quit = False
    self.dif = 0
    self.clok = pygame.time.Clock()
    self.nave = prota()
    self.obst1 = obstacle(0, 140)
    self.obst2 = obstacle(105, 280)
    self.obst3 = obstacle(210, 420)
    self.obst4 = obstacle(315, 560)
    self.obst5 = obstacle(0, 680)
    self.obst6 = obstacle(300, 140)
    self.obst7 = obstacle(405, 280)
    self.obst8 = obstacle(10, 420)
    self.obst9 = obstacle(15, 560)
    self.obst0 = obstacle(300, 680)
    self.obst_group = pygame.sprite.Group()
    self.obst_group.add(self.obst1, self.obst2, self.obst3, self.obst4, self.obst5, self.obst6, self.obst7, self.obst8, self.obst9, self.obst0)
    def update(self):
    self.nave.update()
    self.obst1.update(9 + self.dif)
    self.obst2.update(8 + self.dif)
    self.obst3.update(7 + self.dif)
    self.obst4.update(6 + self.dif)
    self.obst5.update(5 + self.dif)
    self.obst6.update(4 + self.dif)
    self.obst7.update(5 + self.dif)
    self.obst8.update(6 + self.dif)
    self.obst9.update(7 + self.dif)
    self.obst0.update(8 + self.dif)
    def draw(self):
    self.screen.fill(self.black)
    self.screen.blit(self.fondo, (0, 0))
    self.obst1.draw(self.screen)
    self.obst2.draw(self.screen)
    self.obst3.draw(self.screen)
    self.obst4.draw(self.screen)
    self.obst5.draw(self.screen)
    self.obst6.draw(self.screen)
    self.obst7.draw(self.screen)
    self.obst8.draw(self.screen)
    self.obst9.draw(self.screen)
    self.obst0.draw(self.screen)
    self.nave.draw()
    pygame.display.flip()
    def game(self):
    while not self.quit:
    for event in pygame.event.get():
    if event.type == QUIT:
    self.quit = True
    if W.nave.key[K_ESCAPE]:
    self.quit = True
    if pygame.sprite.spritecollideany(self.nave, self.obst_group) == True:
    self.quit = True
    self.update()
    self.draw()
    self.clock.tick(60)
    if __name__ == "__main__":
    W = world()
    W.game()
    DICEN que tras la muerte está la vida eterna. Yo prefiero ensañarme con el cuerpo.

Página 2 de 2 PrimerPrimer 12

Temas similares

  1. Ayuda!! Apunto de pagar un curso y necesito vuestra ayuda.
    Por ruru en el foro Educacion 3D, escuelas y universidades
    Respuestas: 8
    Último mensaje: 11-05-2016, 23:49
  2. Hola busco ayuda mucha ayuda
    Por 3CHAPNLOPVD en el foro Discusiones generales
    Respuestas: 5
    Último mensaje: 14-09-2008, 17:22
  3. Pygame de Python
    Por Atman en el foro Videojuegos
    Respuestas: 4
    Último mensaje: 03-07-2008, 21:41
  4. Respuestas: 6
    Último mensaje: 04-05-2008, 22:39
  5. ayuda breve ayuda con maya
    Por An-Hell en el foro Modelado
    Respuestas: 18
    Último mensaje: 10-03-2008, 08:57

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •