After my image blits in pygame, it falls and I don't know why











up vote
0
down vote

favorite












I got my images loaded and everything, but now when I call it, it's too big and I can't change the size and it won't stay where I called it and I can't see where I went wrong and why it keeps falling...the image blits and it shows up, but in the wrong place and it just fall, I can move the cat and all, but it's falling and it shouldn't. It's kind of like objects in a game that fall from the top of the screen and then they reload at the top, but then it doesn't reload. The cat needs to blit and be on the ground, but it's not.



import pygame
import os
import sys
from pygame.locals import*

pygame.init()

W = 800
H = 447
win = pygame.display.set_mode((W,H))
pygame.display.set_caption('A journey')

bg = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/background.png')).convert()

walkRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R12.png'))]

walkLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L12.png'))]

runRight =[pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR13.png'))]

runLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR13.png'))]

jumpRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ12.png'))]

jumpLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ12.png'))]

sit = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LS6.png'))

clock = pygame.time.Clock()

x = 50
y = 150
width = 94
height = 3.9
vel = 5
isJump = False
jumpCount = 10
left = False
right = False
walkCount = 0


def redrawWindow():
global walkCount
win.blit(bg, (0,0))

if walkCount + 1 >= 27:
walkCount = 0
if left:
win.blit(walkLeft[walkCount//3], (x, y))
walkCount += 1
elif right:
win.blit(walkRight[walkCount//3], (x, y))
walkCount += 1
else:
win.blit(sit, (x, y))

pygame.display.flip()
pygame.display.update()


# main loop
run = True
while run:
clock.tick(27)

for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT] and x > vel:
x -= vel
left = True
right = False
elif keys[pygame.K_RIGHT] and x < W - width - vel:
x += vel
right = True
left = False
else:
right = False
left = False
walkCount = 0

if not(isJump):
y += vel
if keys[pygame.K_SPACE]:
isJump = True
right = False
left = False
walkCount = 0
else:
if jumpCount >= -10:
neg = 1
if jumpCount < 0:
neg = -1
y -= (jumpCount ** 2) * 0.5 * neg
jumpCount -= 1
else:
isJump = False
jumpCount = 10

redrawWindow()

pygame.quit()









share|improve this question
























  • Do you mean "it fails" afterwards?
    – martineau
    Nov 19 at 0:28










  • no, it falls, it blits and then falls...it's crazy and I don't know how to fix it...kinda like in a game when objects are falling from the sky and the go off the screen...it's like that, but then the cat never reloads, but it should blit on the ground and stay there, but it doesn't
    – Hannah
    Nov 19 at 0:31










  • OK. In that case I suggest you edit your question and add enough code so it's runnable and folks can use it to reproduce (and fix) the problem.
    – martineau
    Nov 19 at 0:36






  • 1




    okay, thank you
    – Hannah
    Nov 19 at 0:37










  • All those os.path.join(...) calls are superfluous, since you're not joining paths. I guess it used to be something like IMAGE_DIR="D:/Python/Buttons/Programs/Pygame/game/" and pygame.image.load(os.path.join(IMAGE_DIR, 'LJ1.png'))
    – Kingsley
    Nov 19 at 2:04















up vote
0
down vote

favorite












I got my images loaded and everything, but now when I call it, it's too big and I can't change the size and it won't stay where I called it and I can't see where I went wrong and why it keeps falling...the image blits and it shows up, but in the wrong place and it just fall, I can move the cat and all, but it's falling and it shouldn't. It's kind of like objects in a game that fall from the top of the screen and then they reload at the top, but then it doesn't reload. The cat needs to blit and be on the ground, but it's not.



import pygame
import os
import sys
from pygame.locals import*

pygame.init()

W = 800
H = 447
win = pygame.display.set_mode((W,H))
pygame.display.set_caption('A journey')

bg = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/background.png')).convert()

walkRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R12.png'))]

walkLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L12.png'))]

runRight =[pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR13.png'))]

runLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR13.png'))]

jumpRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ12.png'))]

jumpLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ12.png'))]

sit = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LS6.png'))

clock = pygame.time.Clock()

x = 50
y = 150
width = 94
height = 3.9
vel = 5
isJump = False
jumpCount = 10
left = False
right = False
walkCount = 0


def redrawWindow():
global walkCount
win.blit(bg, (0,0))

if walkCount + 1 >= 27:
walkCount = 0
if left:
win.blit(walkLeft[walkCount//3], (x, y))
walkCount += 1
elif right:
win.blit(walkRight[walkCount//3], (x, y))
walkCount += 1
else:
win.blit(sit, (x, y))

pygame.display.flip()
pygame.display.update()


# main loop
run = True
while run:
clock.tick(27)

for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT] and x > vel:
x -= vel
left = True
right = False
elif keys[pygame.K_RIGHT] and x < W - width - vel:
x += vel
right = True
left = False
else:
right = False
left = False
walkCount = 0

if not(isJump):
y += vel
if keys[pygame.K_SPACE]:
isJump = True
right = False
left = False
walkCount = 0
else:
if jumpCount >= -10:
neg = 1
if jumpCount < 0:
neg = -1
y -= (jumpCount ** 2) * 0.5 * neg
jumpCount -= 1
else:
isJump = False
jumpCount = 10

redrawWindow()

pygame.quit()









share|improve this question
























  • Do you mean "it fails" afterwards?
    – martineau
    Nov 19 at 0:28










  • no, it falls, it blits and then falls...it's crazy and I don't know how to fix it...kinda like in a game when objects are falling from the sky and the go off the screen...it's like that, but then the cat never reloads, but it should blit on the ground and stay there, but it doesn't
    – Hannah
    Nov 19 at 0:31










  • OK. In that case I suggest you edit your question and add enough code so it's runnable and folks can use it to reproduce (and fix) the problem.
    – martineau
    Nov 19 at 0:36






  • 1




    okay, thank you
    – Hannah
    Nov 19 at 0:37










  • All those os.path.join(...) calls are superfluous, since you're not joining paths. I guess it used to be something like IMAGE_DIR="D:/Python/Buttons/Programs/Pygame/game/" and pygame.image.load(os.path.join(IMAGE_DIR, 'LJ1.png'))
    – Kingsley
    Nov 19 at 2:04













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I got my images loaded and everything, but now when I call it, it's too big and I can't change the size and it won't stay where I called it and I can't see where I went wrong and why it keeps falling...the image blits and it shows up, but in the wrong place and it just fall, I can move the cat and all, but it's falling and it shouldn't. It's kind of like objects in a game that fall from the top of the screen and then they reload at the top, but then it doesn't reload. The cat needs to blit and be on the ground, but it's not.



import pygame
import os
import sys
from pygame.locals import*

pygame.init()

W = 800
H = 447
win = pygame.display.set_mode((W,H))
pygame.display.set_caption('A journey')

bg = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/background.png')).convert()

walkRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R12.png'))]

walkLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L12.png'))]

runRight =[pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR13.png'))]

runLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR13.png'))]

jumpRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ12.png'))]

jumpLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ12.png'))]

sit = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LS6.png'))

clock = pygame.time.Clock()

x = 50
y = 150
width = 94
height = 3.9
vel = 5
isJump = False
jumpCount = 10
left = False
right = False
walkCount = 0


def redrawWindow():
global walkCount
win.blit(bg, (0,0))

if walkCount + 1 >= 27:
walkCount = 0
if left:
win.blit(walkLeft[walkCount//3], (x, y))
walkCount += 1
elif right:
win.blit(walkRight[walkCount//3], (x, y))
walkCount += 1
else:
win.blit(sit, (x, y))

pygame.display.flip()
pygame.display.update()


# main loop
run = True
while run:
clock.tick(27)

for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT] and x > vel:
x -= vel
left = True
right = False
elif keys[pygame.K_RIGHT] and x < W - width - vel:
x += vel
right = True
left = False
else:
right = False
left = False
walkCount = 0

if not(isJump):
y += vel
if keys[pygame.K_SPACE]:
isJump = True
right = False
left = False
walkCount = 0
else:
if jumpCount >= -10:
neg = 1
if jumpCount < 0:
neg = -1
y -= (jumpCount ** 2) * 0.5 * neg
jumpCount -= 1
else:
isJump = False
jumpCount = 10

redrawWindow()

pygame.quit()









share|improve this question















I got my images loaded and everything, but now when I call it, it's too big and I can't change the size and it won't stay where I called it and I can't see where I went wrong and why it keeps falling...the image blits and it shows up, but in the wrong place and it just fall, I can move the cat and all, but it's falling and it shouldn't. It's kind of like objects in a game that fall from the top of the screen and then they reload at the top, but then it doesn't reload. The cat needs to blit and be on the ground, but it's not.



import pygame
import os
import sys
from pygame.locals import*

pygame.init()

W = 800
H = 447
win = pygame.display.set_mode((W,H))
pygame.display.set_caption('A journey')

bg = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/background.png')).convert()

walkRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/R12.png'))]

walkLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/L12.png'))]

runRight =[pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RR13.png'))]

runLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR12.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LR13.png'))]

jumpRight = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LJ12.png'))]

jumpLeft = [pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ1.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ2.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ3.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ4.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ5.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ6.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ7.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ8.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ9.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ10.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ11.png')),
pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/RJ12.png'))]

sit = pygame.image.load(os.path.join('D:/Python/Buttons/Programs/Pygame/game/LS6.png'))

clock = pygame.time.Clock()

x = 50
y = 150
width = 94
height = 3.9
vel = 5
isJump = False
jumpCount = 10
left = False
right = False
walkCount = 0


def redrawWindow():
global walkCount
win.blit(bg, (0,0))

if walkCount + 1 >= 27:
walkCount = 0
if left:
win.blit(walkLeft[walkCount//3], (x, y))
walkCount += 1
elif right:
win.blit(walkRight[walkCount//3], (x, y))
walkCount += 1
else:
win.blit(sit, (x, y))

pygame.display.flip()
pygame.display.update()


# main loop
run = True
while run:
clock.tick(27)

for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT] and x > vel:
x -= vel
left = True
right = False
elif keys[pygame.K_RIGHT] and x < W - width - vel:
x += vel
right = True
left = False
else:
right = False
left = False
walkCount = 0

if not(isJump):
y += vel
if keys[pygame.K_SPACE]:
isJump = True
right = False
left = False
walkCount = 0
else:
if jumpCount >= -10:
neg = 1
if jumpCount < 0:
neg = -1
y -= (jumpCount ** 2) * 0.5 * neg
jumpCount -= 1
else:
isJump = False
jumpCount = 10

redrawWindow()

pygame.quit()






python image pygame






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 at 0:39

























asked Nov 19 at 0:13









Hannah

34




34












  • Do you mean "it fails" afterwards?
    – martineau
    Nov 19 at 0:28










  • no, it falls, it blits and then falls...it's crazy and I don't know how to fix it...kinda like in a game when objects are falling from the sky and the go off the screen...it's like that, but then the cat never reloads, but it should blit on the ground and stay there, but it doesn't
    – Hannah
    Nov 19 at 0:31










  • OK. In that case I suggest you edit your question and add enough code so it's runnable and folks can use it to reproduce (and fix) the problem.
    – martineau
    Nov 19 at 0:36






  • 1




    okay, thank you
    – Hannah
    Nov 19 at 0:37










  • All those os.path.join(...) calls are superfluous, since you're not joining paths. I guess it used to be something like IMAGE_DIR="D:/Python/Buttons/Programs/Pygame/game/" and pygame.image.load(os.path.join(IMAGE_DIR, 'LJ1.png'))
    – Kingsley
    Nov 19 at 2:04


















  • Do you mean "it fails" afterwards?
    – martineau
    Nov 19 at 0:28










  • no, it falls, it blits and then falls...it's crazy and I don't know how to fix it...kinda like in a game when objects are falling from the sky and the go off the screen...it's like that, but then the cat never reloads, but it should blit on the ground and stay there, but it doesn't
    – Hannah
    Nov 19 at 0:31










  • OK. In that case I suggest you edit your question and add enough code so it's runnable and folks can use it to reproduce (and fix) the problem.
    – martineau
    Nov 19 at 0:36






  • 1




    okay, thank you
    – Hannah
    Nov 19 at 0:37










  • All those os.path.join(...) calls are superfluous, since you're not joining paths. I guess it used to be something like IMAGE_DIR="D:/Python/Buttons/Programs/Pygame/game/" and pygame.image.load(os.path.join(IMAGE_DIR, 'LJ1.png'))
    – Kingsley
    Nov 19 at 2:04
















Do you mean "it fails" afterwards?
– martineau
Nov 19 at 0:28




Do you mean "it fails" afterwards?
– martineau
Nov 19 at 0:28












no, it falls, it blits and then falls...it's crazy and I don't know how to fix it...kinda like in a game when objects are falling from the sky and the go off the screen...it's like that, but then the cat never reloads, but it should blit on the ground and stay there, but it doesn't
– Hannah
Nov 19 at 0:31




no, it falls, it blits and then falls...it's crazy and I don't know how to fix it...kinda like in a game when objects are falling from the sky and the go off the screen...it's like that, but then the cat never reloads, but it should blit on the ground and stay there, but it doesn't
– Hannah
Nov 19 at 0:31












OK. In that case I suggest you edit your question and add enough code so it's runnable and folks can use it to reproduce (and fix) the problem.
– martineau
Nov 19 at 0:36




OK. In that case I suggest you edit your question and add enough code so it's runnable and folks can use it to reproduce (and fix) the problem.
– martineau
Nov 19 at 0:36




1




1




okay, thank you
– Hannah
Nov 19 at 0:37




okay, thank you
– Hannah
Nov 19 at 0:37












All those os.path.join(...) calls are superfluous, since you're not joining paths. I guess it used to be something like IMAGE_DIR="D:/Python/Buttons/Programs/Pygame/game/" and pygame.image.load(os.path.join(IMAGE_DIR, 'LJ1.png'))
– Kingsley
Nov 19 at 2:04




All those os.path.join(...) calls are superfluous, since you're not joining paths. I guess it used to be something like IMAGE_DIR="D:/Python/Buttons/Programs/Pygame/game/" and pygame.image.load(os.path.join(IMAGE_DIR, 'LJ1.png'))
– Kingsley
Nov 19 at 2:04












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










The code looks to be processing the code for "jump" without having actually received the event for it. Read through the event loop:



while run:
clock.tick(27)

for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT] and x > vel:
# do left
elif keys[pygame.K_RIGHT] and x < W - width - vel:
#do right
else:
# neither left nor right

if not(isJump):
y += vel # <--- THIS PART
if keys[pygame.K_SPACE]:
# start a new jump


If the jump is not in progress, y is increased by vel (5) every frame.






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53366782%2fafter-my-image-blits-in-pygame-it-falls-and-i-dont-know-why%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote



    accepted










    The code looks to be processing the code for "jump" without having actually received the event for it. Read through the event loop:



    while run:
    clock.tick(27)

    for event in pygame.event.get():
    if event.type == pygame.QUIT:
    run = False

    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT] and x > vel:
    # do left
    elif keys[pygame.K_RIGHT] and x < W - width - vel:
    #do right
    else:
    # neither left nor right

    if not(isJump):
    y += vel # <--- THIS PART
    if keys[pygame.K_SPACE]:
    # start a new jump


    If the jump is not in progress, y is increased by vel (5) every frame.






    share|improve this answer

























      up vote
      0
      down vote



      accepted










      The code looks to be processing the code for "jump" without having actually received the event for it. Read through the event loop:



      while run:
      clock.tick(27)

      for event in pygame.event.get():
      if event.type == pygame.QUIT:
      run = False

      keys = pygame.key.get_pressed()

      if keys[pygame.K_LEFT] and x > vel:
      # do left
      elif keys[pygame.K_RIGHT] and x < W - width - vel:
      #do right
      else:
      # neither left nor right

      if not(isJump):
      y += vel # <--- THIS PART
      if keys[pygame.K_SPACE]:
      # start a new jump


      If the jump is not in progress, y is increased by vel (5) every frame.






      share|improve this answer























        up vote
        0
        down vote



        accepted







        up vote
        0
        down vote



        accepted






        The code looks to be processing the code for "jump" without having actually received the event for it. Read through the event loop:



        while run:
        clock.tick(27)

        for event in pygame.event.get():
        if event.type == pygame.QUIT:
        run = False

        keys = pygame.key.get_pressed()

        if keys[pygame.K_LEFT] and x > vel:
        # do left
        elif keys[pygame.K_RIGHT] and x < W - width - vel:
        #do right
        else:
        # neither left nor right

        if not(isJump):
        y += vel # <--- THIS PART
        if keys[pygame.K_SPACE]:
        # start a new jump


        If the jump is not in progress, y is increased by vel (5) every frame.






        share|improve this answer












        The code looks to be processing the code for "jump" without having actually received the event for it. Read through the event loop:



        while run:
        clock.tick(27)

        for event in pygame.event.get():
        if event.type == pygame.QUIT:
        run = False

        keys = pygame.key.get_pressed()

        if keys[pygame.K_LEFT] and x > vel:
        # do left
        elif keys[pygame.K_RIGHT] and x < W - width - vel:
        #do right
        else:
        # neither left nor right

        if not(isJump):
        y += vel # <--- THIS PART
        if keys[pygame.K_SPACE]:
        # start a new jump


        If the jump is not in progress, y is increased by vel (5) every frame.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 19 at 2:13









        Kingsley

        1,6631918




        1,6631918






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53366782%2fafter-my-image-blits-in-pygame-it-falls-and-i-dont-know-why%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown