Python Forum

Full Version: A learner game
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am fairly new to Python and am writing a very basic game. Essentially all we are doing is copying and understanding snippets of code
but for some reason, this script for "gravity" won't work as well as the whole movement system despite it being completely accurate:
user_input = pygame.key.get_pressed()

    if user_input[pygame.K_UP]:
        player.move(0,-2)
    elif player.rect.y < (height -60):
        player.move(0,5)

    if user_input[pygame.K_DOWN]:
        player.move(0,2)

    if user_input[pygame.K_LEFT]:
        player.move(-2,0)
        if player.rect.x < 0:
            player.rect.x= width -1

    if user_input[pygame.K_RIGHT]:
        player.move(2,0)
        if player.rect.x > width:
            player.rect.x= -59

Any help would be much appreciated!
Wall
Without seeing player class and event loop. All I can do is guess.
Maybe you want player.rect.move.
I have just tried that and it still doesn't seem to work :/
the full code for the movement is here:
running = True

while running:
    clock.tick(60)
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        if (event.type == pygame.KEYDOWN) and (event.key == pygame.K_SPACE):
            if colour == (0,128,255):
                colour = (255,100,0)
            else:
                colour = (0,128,255)

    #allow the user to move
    user_input = pygame.key.get_pressed()

    if user_input[pygame.K_UP]:
        player.rect.move(0,-2)
    elif player.rect.y < (height -60):
        player.rect.move(0,5)

    if user_input[pygame.K_DOWN]:
        player.rect.move(0,2)

    if user_input[pygame.K_LEFT]:
        player.rect.move(-2,0)
        if player.rect.x < 0:
            player.rect.x= width -1

    if user_input[pygame.K_RIGHT]:
        player.rect.move(2,0)
        if player.rect.x > width:
            player.rect.x= -59
hope this helps.
Still not enough code. Full event loop and player class.
For best result just show full code.
Then we can see where the mistake was made.