Exemple #1
0
    def obtener_colisiones(self, actor, grupo_de_actores):
        "Retorna una lista de los actores que colisionan con uno en particular."

        lista_de_colisiones = []

        for a in grupo_de_actores:
            if id(actor) != id(a) and utils.colisionan(actor, a):
                lista_de_colisiones.append(a)

        return lista_de_colisiones
Exemple #2
0
    def obtener_colisiones(self, actor, grupo_de_actores):
        "Retorna una lista de los actores que colisionan con uno en particular."

        lista_de_colisiones = []

        for a in grupo_de_actores:
            if id(actor) != id(a) and utils.colisionan(actor, a):
                lista_de_colisiones.append(a)

        return lista_de_colisiones
Exemple #3
0
    def _verificar_colisiones_en_tupla(self, tupla):
        "Toma dos grupos de actores y analiza colisiones entre ellos."
        (grupo_a, grupo_b, funcion_a_llamar) = tupla

        for a in grupo_a:
            for b in grupo_b:
                if id(a) != id(b) and utils.colisionan(a, b):
                    funcion_a_llamar(a, b)

                    # verifica si alguno de los dos objetos muere en la colision.
                    if a not in pilas.actores.todos:
                        if a in grupo_a:
                            list.remove(grupo_a, a)

                    if b not in pilas.actores.todos:
                        if b in grupo_b:
                            list.remove(grupo_b, b)
Exemple #4
0
    def _verificar_colisiones_en_tupla(self, tupla):
        "Toma dos grupos de actores y analiza colisiones entre ellos."
        (grupo_a, grupo_b, funcion_a_llamar) = tupla

        for a in grupo_a:
            for b in grupo_b:
                if id(a) != id(b) and utils.colisionan(a, b):
                    funcion_a_llamar(a, b)

                    # verifica si alguno de los dos objetos muere en la colision.
                    if a not in pilas.actores.todos:
                        if a in grupo_a:
                            list.remove(grupo_a, a)

                    if b not in pilas.actores.todos:
                        if b in grupo_b:
                            list.remove(grupo_b, b)