単純なゲームを作ろうとしていますが、動きが正しく動作しません。 ボタンが押されている間は動き続けますが、画面の境界線を尊重したいと思っています。それはここに私のコードは、矩形が吃音になり、ハードウェアイベントがキーを押すように起こった場合、pygame constant if文で移動する
import pygame
pygame.init()
SD = pygame.display.set_mode((640,480))
x = 16
y = 16
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
if y > 0:
y -= 8
if keys[pygame.K_a]:
if x > 0:
x -= 8
if keys[pygame.K_s]:
if y < 448:
y += 8
if keys[pygame.K_d]:
if x < 608:
x += 8
SD.fill((255,255,255))
pygame.draw.rect(SD, (255,0,0), (x,y, 30, 30))
pygame.display.update()
はい、ゲームのループではsleep()を使用しないでください。 Pygameには時計が内蔵されています。 'clock = pygame.time.Clock()'を使って作成し、ゲームループでは 'clock.tick(30)'を使用します - これはループが30fpsで動作するようにします。 – Chris