Thread Rating:
  • 1 Vote(s) - 2 Average
  • 1
  • 2
  • 3
  • 4
  • 5
moverse hacia la posicion de un objeto
#4
Ya lo tienes funcionando, te comento los pequeños cambios:

En __init()__, velocidad y ángulo son locales y sólo se usan para calcular self.vx y self.vy (velocidad horizontal y vertical):

Code:
velocidad = 3
angulo = self.getAngle(jugador)
self.vx = math.cos(angulo) * velocidad
self.vy = math.sin(angulo) * velocidad

Como ya tienes calculada la velocidad, la función advance() puede eliminarse, con mover() es suficiente. El error de tipo que te daba, es que self.x y self.y están en punto flotante, mientras que Sprite.set_position() requiere que los parámetros sean enteros, para ello se usa la función python int(). Con ello la función mover() queda así:

Code:
def mover(self):
    self.x += self.vx
    self.y += self.vy
    engine.sprites[self.sprite_id].set_position(int(self.x),int(self.y))


Attached Files
.zip   pruebaTile.zip (Size: 1.58 KB / Downloads: 2)
Reply


Messages In This Thread
RE: moverse hacia la posicion de un objeto - by megamarc - 04-05-2020, 04:05 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)