Saludos,
Con la nueva versión de pilas (1.4) al añadir esta línea:
pilas.colisiones.agregar(pelota, mono, colision_mono)
a este script:
import pilasengine
pilas = pilasengine.iniciar()
class Pelota(pilasengine.actores.Actor):
def iniciar(self):
self.imagen = pilas.imagenes.cargar("aceituna.png")
self.x = 0
self.y = -230
self.vel_x = 2
self.vel_y = 2
def mover(self):
self.x += self.vel_x
self.y += self.vel_y
if self.x >= 305 or self.x <= -305:
self.vel_x = -self.vel_x
if self.y >= 230:
self.vel_y = -self.vel_y
def actualizar(self):
self.mover()
def colision_mono():
mono.sonreir()
pelota = Pelota(pilas)
pelota.radio_de_colision = 17
mono = pilas.actores.Mono()
pilas.colisiones.agregar(pelota, mono, colision_mono)
pilas.ejecutar()
me sale es siguiente error:
ERROR AttributeError("'Rectangulo' object has no attribute 'z'",)
-310
AttributeError("'Rectangulo' object has no attribute 'z'",)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/widget.py", line 115, in timerEvent
self._realizar_actualizacion_logica()
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/widget.py", line 96, in _realizar_actualizacion_logica
self.pilas.realizar_actualizacion_logica()
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/__init__.py", line 406, in realizar_actualizacion_logica
self.escenas.realizar_actualizacion_logica()
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/escenas/__init__.py", line 58, in realizar_actualizacion_logica
escena.colisiones.actualizar()
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/colisiones/__init__.py", line 77, in actualizar
self._ejecutar_colision_programada_si_existe(actor_1, actor_2)
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/colisiones/__init__.py", line 86, in _ejecutar_colision_programada_si_existe
if a in (actor_1, actor_2) and b in (actor_1, actor_2):
File "/usr/local/lib/python2.7/dist-packages/pilas-1.4.0-py2.7.egg/pilasengine/actores/actor.py", line 736, in __cmp__
if otro_actor.z >= self.z:
AttributeError: 'Rectangulo' object has no attribute 'z'
El script lo hice siguiendo el ejemplo de colisiones del manual.
Saludos otra vez y Gracias…