03-28-2020, 04:42 PM
Buenos días!
He mirado el efecto que dices, parece que hay dos cosas que no están relacionadas.
En tu código, tienes la lógica de movimiento al revés: primero estableces la posición del sprite con el valor actual, y luego actualizas las coordenadas, debería ser lo contrario: primero la variable y luego haces efectivo el cambio. Esto provoca un pequeño "salto" cada vez que cambias la dirección de movimiento del sprite:
En cuanto al efecto del sprite que se mete un poco por el borde izquierdo, de entrada no le encuentro explicación, puede ser un bug dentro de tilengine. He comprobado que cuando estableces la coordenada x=0 correctamente, en efecto aparece ligeramente desplazado. Tengo que depurarlo. Buena observación!
He mirado el efecto que dices, parece que hay dos cosas que no están relacionadas.
En tu código, tienes la lógica de movimiento al revés: primero estableces la posición del sprite con el valor actual, y luego actualizas las coordenadas, debería ser lo contrario: primero la variable y luego haces efectivo el cambio. Esto provoca un pequeño "salto" cada vez que cambias la dirección de movimiento del sprite:
Code:
def mover(self):
if(ventana.get_input(tilengine.Input.LEFT) and self.x > 8):
self.x -= self.velocidad
engine.sprites[self.sprite].set_position(self.x,self.y)
elif(ventana.get_input(tilengine.Input.RIGHT) and self.x < 608):
self.x += self.velocidad
engine.sprites[self.sprite].set_position(self.x,self.y)
if(ventana.get_input(tilengine.Input.UP) and self.y > 16):
self.y -= self.velocidad
engine.sprites[self.sprite].set_position(self.x,self.y)
elif(ventana.get_input(tilengine.Input.DOWN) and self.y < 430):
self.y += self.velocidad
engine.sprites[self.sprite].set_position(self.x,self.y)
En cuanto al efecto del sprite que se mete un poco por el borde izquierdo, de entrada no le encuentro explicación, puede ser un bug dentro de tilengine. He comprobado que cuando estableces la coordenada x=0 correctamente, en efecto aparece ligeramente desplazado. Tengo que depurarlo. Buena observación!
