Python Forum
Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
A learner game
#1
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
Reply
#2
Without seeing player class and event loop. All I can do is guess.
Maybe you want player.rect.move.
99 percent of computer problems exists between chair and keyboard.
Reply
#3
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.
Reply
#4
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.
99 percent of computer problems exists between chair and keyboard.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020