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

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 
  • Kann nicht ausziehen () sprites in pyglet
  • Versuchen, über Sprite zu ziehen oder Bildpyglet zu wechseln
  • Pygame macht ein Sprite Gesicht die Maus
  • Wie kann man einen Feind dem Spieler in pygame folgen?
  • Python Animation Timing
  • Wie füge ich eine Zeile als Sprite in Pygame hinzu?
  • Python pygame blit-Funktion
  • Pyglet: Sprite.draw () und Batch.draw () funktionieren nicht, aber Image.blit tut
  • Python ist die beste Programmiersprache der Welt.