Der Code ist hier zu finden:
http://www.spielend-programmieren.at/wi ... ame:bounce
Code herunterladen
Das Problem liegt meiner meinung nach hier:
Code: Alles auswählen
def calculate(self):
self.speed += self.gravity * self.tick_seconds
self.TrueX += self.speed.x * self.tick_seconds
self.TrueY += self.speed.y * self.tick_seconds
def update(self, tick_seconds):
self.tick_seconds = tick_seconds
if self.state == 'rip':
self.getKeys()
elif self.state == 'forcemove':
self.calculate()
self.rect.centerx = round(self.TrueX,0)
self.rect.centery = round(self.TrueY,0)
self.state = 'free'
elif self.state == 'free':
self.calculate()
self.getSurface() # liefert Kollisionspixel in StopAt
if self.stopAt is not None:
self.TrueX = self.stopAt[0]
self.TrueY = self.stopAt[1]
self.speed *= -0.5
if self.speed.length <= self.gravity.length * tick_seconds:
self.speed.length = 0
self.state = 'rip'
else:
self.state = 'forcemove'
self.getKeys()
self.rect.centerx = round(self.TrueX,0)
self.rect.centery = round(self.TrueY,0)