Schiebe-Sprites

Ich möchte, dass mein Sprite gleitet, wie er auf Eis ist. Wenn er also auf dem Boden ist, dann kann er normal laufen, aber wenn er Eis berührt, wird er gleiten, bis etwas aufhört. Weiß jemand, wie man das machen kann? Vielen Dank

  • Wie füge ich eine Zeile als Sprite in Pygame hinzu?
  • Wie kann man einen Feind dem Spieler in pygame folgen?
  • Python Animation Timing
  • Kann konstante Tasteneingabe ein Sprite ständig bewegen?
  • Kann nicht ausziehen () sprites in pyglet
  • Außerhalb des Gedächtnisses bei der Verwendung von pygame.transform.rotate
  • Pyglet: Ändern des Bildes einer Sprite-Instanz beim Drücken einer Taste
  • PYGAME macht einen Sprite in die Richtung, in die er steht
  • One Solution collect form web for “Schiebe-Sprites”

    Manipulieren Sie die Reibungskoeffizienten wie das Beispiel " Sprite Movement Towards a Target " (unten modifiziert):

    class Sprite(pygame.sprite.Sprite): ICE = 0.01 LAND = 1. def __init__(self): # ... self.normal_friction = .95 # friction while accelerating self.slowing_friction = .8 # friction while slowing down def update(self): # ... if self.dir: # if there is a direction to move if self.in_ice_region(): surface_coefficient = Sprite.ICE else: surface_coefficient = Sprite.LAND if self.distance_check(self.dist): # if we need to slow down self.speedX += (self.dir[0] * (self.speed / 2)) # reduced speed self.speedY += (self.dir[1] * (self.speed / 2)) self.speedX *= surface_coefficient * self.slowing_friction # increased friction self.speedY *= surface_coefficient * self.slowing_friction else: # if we need to go normal speed self.speedX += (self.dir[0] * self.speed) # calculate speed from direction to move and speed constant self.speedY += (self.dir[1] * self.speed) self.speedX *= surface_coefficient * self.normal_friction # apply friction self.speedY *= surface_coefficient * self.normal_friction self.trueX += self.speedX # store true x decimal values self.trueY += self.speedY self.rect.center = (round(self.trueX),round(self.trueY)) # apply values to sprite.center 
    Python ist die beste Programmiersprache der Welt.