[Tutor] Making a character jump with pygame
Lee Harr
missive at hotmail.com
Fri Oct 7 13:57:01 CEST 2005
> I've edited the aliens.py example to make my character just move
>back and forth. However I can't make him jump!
It is not really clear to me from your code where you expect the
character to jump. I do not see the word "jump" anywhere. I do
see the word "bounce" and one reference to the top of the image
so I will figure that is where you are working.
You have a .move method for your Player sprite:
def move(self, direction):
if direction: self.facing = direction
self.rect.move_ip(direction*self.speed, 0)
self.rect = self.rect.clamp(SCREENRECT)
if direction < 0:
self.image = self.images[0]
elif direction > 0:
self.image = self.images[1]
self.rect.top = self.origtop - (self.rect.left/self.bounce%2)
origtop is set to the original value of top when the sprite is
created, and bounce = 1 and never changes.
What are you hoping this code will do?
Just as an experiment (to test that changes to self.rect.top
will actually make the sprite move up) I changed
self.rect.top = self.origtop - (self.rect.left/self.bounce%2)
to
self.rect.top -= 1
You might want to look at that.
Help us to help you. Name something "jump" or put in some
comments about what you are expecting, and what is not
working.
>Here's my code (attached). I'm trying to make a platformer Mario style
>game.
The other thing I notice is that in the controls section...
#handle player input
direction = keystate[K_RIGHT] - keystate[K_LEFT]
player.move(direction)
You handle K_LEFT and K_RIGHT but there is nothing to handle any
"jump" event. How does the user cause the Player to jump?
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
More information about the Tutor
mailing list