Я недавно запустил Python и учусь по книге, но я думаю, что в книге либо используется старая версия, либо она написана не очень хорошо.Используя некоторый код, я попытался создать простой движущийся символ.
#!/usr/bin/python3
import pygame
from pygame.locals import *
pygame.init()
running = True
gamewindow=pygame.display.set_mode((800, 600))
pygame.display.set_caption("Game")
black=(0, 0, 0)
white=(255, 255, 255)
img=pygame.image.load("/home/leo/Downloads/pixel.png")
def sprite(x,y):
gamewindow.blit(img, (x,y))
x=(800*0.2)
y=(600*0.735)
xchange=0
imgspeed=0
while running:
for event in pygame.event.get():
if event.type==QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.type == pygame.K_LEFT:
xchange=-5
elif event.type == pygame.K_RIGHT:
xchange=5
if event.type==pygame.KEYUP:
if event.type==pygame.K_LEFT or event.key==pygame.K_RIGHT:
xchange=0
x= x + xchange
gamewindow.fill(white)
sprite(x,y)
pygame.display.update()
pygame.quit()
Используя этот код, персонаж не двигается, и я думаю, что это может быть связано с неправильными функциями в этом разделе:
while running:
for event in pygame.event.get():
if event.type==QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.type == pygame.K_LEFT:
xchange=-5
elif event.type == pygame.K_RIGHT:
xchange=5
if event.type==pygame.KEYUP:
if event.type==pygame.K_LEFT or event.key==pygame.K_RIGHT:
xchange=0
x= x + xchange
Является ли книга совершенно неправильной или есть несколько небольших вещей, которые я должен изменить.Спасибо!