• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Material Didáctico

Investigación, diseño y marketing digital

  • Material Didáctico
    • Sistema de información de mercados (SIM)
    • Comercio Electrónico
    • Comercio digital internacional (CDI)
    • Diseño para marketing y publicidad
  • Blog
    • Big Data
    • Contenidos CDI
    • Publicidad
    • Sistema de Información de Mercados
    • Marketing Digital
  • Campus Online
    • Quienes Somos
    • CREA TU ECOMMERCE
    • Incidencia
      • FAQ
  • Vídeos
    • Vídeos Diseño Gráfico
    • Vídeos Marketing Digital
    • Vídeo Tutoriales Diseño
    • Vídeos SIM
    • Vídeos Logística
    • Vídeos Ezoco
    • Vídeo Tutoriales SEO
    • Vídeos Camtasia
    • Vídeo Tutoriales Elementor
    • Vídeos Factusol
    • Vídeos Gimp 2.10
    • Vídeos INKscape
    • Vídeos Scribus
  • Contactar
Usted está aquí: Inicio / Gamificación / Colisión con lista de objetos en Pygame

Colisión con lista de objetos en Pygame

noviembre 15, 2020 By pygame

Ya hemos visto como colisionar dos objetos/cuadrados en nuestro artículo: colisión entre dos cuadrados.

Ahora vamos a colisionar un objeto con una lista de objetos, y del producto de la colisión desaparecerá uno de ellos.

Para empezar definimos los dos objetos:

import pygame, sys, random
pygame.init()

class Girl(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/girl.png").convert_alpha()
        self.rect=self.image.get_rect()
        
class Pera(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/pera2.png").convert_alpha()
        self.rect=self.image.get_rect()

Asignamos valores a las variables y definimos la ventana

ancho=800
alto=700
x=50
y=490
vel=0
salto=10
isJump=False
        
#Ventana y título
ventana = pygame.display.set_mode((ancho,alto)) 
pygame.display.set_caption('Saltando')
clock=pygame.time.Clock()

Cargamos el objeto Girl en la lista y guardamos el fondo en una variable.

#------------Listas--------------
frutaLista=pygame.sprite.Group() 
fondo =pygame.image.load("E:/NUEVO 2020/PYTHON/pygame/fondonubes.png").convert()
girl=Girl()

Mediante un bucle damos valores de x e y al objeto Pera que guardamos en una lista «frutaLista»

h=100
for i in range(3):
    pera=Pera()
    pera.rect.x=h
    pera.rect.y=300
    frutaLista.add(pera)
    h+=250

Ahora cargamos los sonidos de fondo y colisión.

soundColision = pygame.mixer.Sound("E:/NUEVO 2020/PYTHON/pygame/sonidoPG/tesoro.wav")
soundBg = pygame.mixer.music.load("E:/NUEVO 2020/PYTHON/pygame/main.mid")
pygame.mixer.music.play()

Damos movilidad a los objetos definiendo eventos de teclado

#/////////////////Bucle del juego/////////////////
gameOver=False
while not gameOver:
    
    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            gameOver=True
            
    #--------- – pulsar teclas y soltar tecla       
    
    if event.type == pygame.KEYDOWN: 
        if event.key == pygame.K_LEFT:
            vel=-7
        if event.key == pygame.K_RIGHT:
            vel=7
        #Si no está en salto /////////////////
        if event.key==pygame.K_SPACE:
            isJump=True

    if event.type == pygame.KEYUP:
        if event.key == pygame.K_LEFT:
            vel=0
        if event.key == pygame.K_RIGHT:
            vel=0

    if isJump:
        if salto>=-10:
            y-=(salto*abs(salto))*0.5
            salto-=1
        else:
            salto=10
            isJump=False

Damos valores x e y al objeto girl, llamando a la clase con los parámetros definidos con el teclado.

    #---------- – LOGICA – -----------------
    x += vel
    girl.rect.x=x
    girl.rect.y=y

Para colisionar el objeto girl con la lista frutaLista utilizamod un spritecollide que borra el objeto de la lista si lo marcamos como True.

Cuando colisiona reproducimos el sonido.

    #--------- – COLISION – ------------------
    if pygame.sprite.spritecollide(girl, frutaLista, True):
        soundColision.play()

Ahora dibujamos el fondo, la lista y el objeto.

    #-------------FONDO---------------------
    ventana.blit(fondo, [0,0])
      
    #---------- – DIBUJO – ----------------
    frutaLista.draw(ventana)
    ventana.blit(girl.image, [x,y])

    pygame.display.flip()
    clock.tick(18)
pygame.quit()

Puedes ver todo el código en el vídeo.

Barra lateral principal

ComercioyMarketing

¿Quién me pone el ROL de profesor?

El profesor o profesora debe seguir el mismo proceso de automatriculación del alumnado, y una vez completado el proceso debe solicitar que el gestor del campus le cambie el rol para que pueda acceder al contenido exclusivo del profesor. No se hace de forma automatizada para evitar filtraciones. Puede solicitar el cambio de ROL al mail: infor@comercioymarketing.es

¿Cómo doy de alta al alumnado?

Cada alumno puede darse de alta accediendo al Instituto y al módulo desde el el CAMPUS.comercioymarketing.es Durante el proceso tendrá que rellenar un formulario y al finalizar deberá introducir la clave de matriculación que se facilitará al profesor a través de correo electrónico: info@comercioymarketing.es

Presentación del campus.

¿Puedo descargar el ebook?

Todo el material está protegido por los derechos de autor y la Ley de Propiedad Intelectual. No se puede descargar ni difundir total o parcialmente. No obstante si algún alumno desea el material en formato papel podrá adquirirlo en la editorial LULU.com

Para localizar los libros se puede hacer una búsqueda en la propia web por título o autor: Juan de Dios Marín Peñas. Los libros en papel suelen estar promocionados para el alumnado matriculado (75% de descuento).

¿Se adapta a normativa?

Todo el material didáctico está adaptado al Real Decreto del Ciclo Formativo y responde a los Resultados de Aprendizaje que se deben alcanzar.

Para facilitar la evaluación se facilita un cuadro de actividades y su relación con los criterios de evaluación y RA.

¿Como se paga?

Los alumnos y alumnas pueden pagar directamente ingresando o transfiriendo el importe de la matrícula a la cuenta facilitada por el gestor del campus (info@comercioymarketing.es).

Para facilitar la identificación de los pagos se aconseja que se hagan de forma agrupada por clase y se identifique el Instituto cuando se haga el ingreso.

 

¿Cuanto cuesta?

El coste es de 7€ al año por cada uno de los módulos que contrate el alumno. El profesor y el Instituto no pagan nada. Estos 7€ da derecho a 9 meses de matriculación con acceso al material didáctico, vídeos, actividades, hosting, etc.

  • Correo electrónico
  • LinkedIn
  • Twitter
  • YouTube
¿Quieres un material didáctico adaptado y actualizado?

Unas clases más prácticas y dinámicas, son posibles.

Contactanos

Footer

Sobre nosotros

Editorial digital con espíritu colaborativo, creada por profesores para profesores.

Más sobre nosotros

Contacta con nosotros

Si buscas un material que te permita hacer tus clases más dinámicas y prácticas, te ofrecemos lo que necesitas.

  • LinkedIn
  • Twitter
  • YouTube

Suscríbete

Si quieres información actualizada de la familia de comercio y marketing sigue nuestras publicaciones exclusivas para suscriptores.

Comercio y Marketing: Material didáctico para FP - Paseo de la Estación, 44 - 23008 Jaén
Copyright © 2022 · Comercio y Marketing