わかりましたので、私のコードは以下のとおりです。現在、私はpygameが初めてで、画面上で画像を移動する方法を理解しようとしています。私がpygameについて見てきたことから、次のコードは画像を上に移動する必要があります(現在可能な唯一の移動)。しかし、押し上げても画像が動かない。Python は、システム トレイに印刷されているため、私が押し上げていることを認識していますが、動きがありません。誰か助けてもらえますか?
import pygame, sys
from pygame.locals import *
FPS = 30
WIN_WIDTH = 800
WIN_HEIGHT = 600
HALF_WIDTH = int(WIN_WIDTH / 2)
HALF_HEIGHT = int(WIN_HEIGHT / 2)
COLOR = (255, 0, 255)
IMAGE = pygame.image.load('squirrel.png')
STARTSIZE = 25
LEFT = 'left'
def main():
pygame.init()
FPS_CLOCK = pygame.time.Clock()
movement = 1
moveUp = False
DISPLAY_SURFACE = pygame.display.set_mode((WIN_WIDTH, WIN_HEIGHT))
while True:
DISPLAY_SURFACE.fill(COLOR)
playerObj = {'surface': pygame.transform.scale(IMAGE, (STARTSIZE, STARTSIZE)),
'facing': LEFT,
'size': STARTSIZE,
'x': HALF_WIDTH,
'y': HALF_HEIGHT}
playerObj['rect'] = pygame.Rect( (playerObj['x'], playerObj['y'], playerObj['size'], playerObj['size']) )
DISPLAY_SURFACE.blit(playerObj['surface'], playerObj['rect'])
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_UP:
moveUp = True
if event.type == KEYUP:
if event.key == K_UP:
moveUp = False
elif event.type == QUIT:
pygame.quit()
sys.exit()
if moveUp:
playerObj['y'] += movement
print("moving up")
else:
print('stopped')
pygame.display.update()
FPS_CLOCK.tick(FPS)
if __name__ == '__main__':
main()