矢印キーを使用して四角形を移動したいので、このコードを書いています。 これは動作しますが、ループサイクルは四角形を移動せず、毎回新しいサイクルを作成します。結果は浮気のようです。あなたは、PICでそれを見ることができます:the result of the code after some key pressurePygame、四角形を移動し、先の位置にある古い四角形を削除します。
をここで私が書いたコード:
import sys
import pygame
pygame.init()
pygame.display.set_caption('SAGA')
clock=pygame.time.Clock()
FPS=30
#the initial position
POS_X=300
POS_Y=300
ship = pygame.image.load("fighter_0.png")
while True:
#if cycle for detect the key pressure
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key ==pygame.K_UP:
POS_Y=POS_Y-10
if event.type == pygame.KEYDOWN:
if event.key ==pygame.K_DOWN:
POS_Y=POS_Y+10
if event.type == pygame.KEYDOWN:
if event.key ==pygame.K_RIGHT:
POS_X=POS_X+10
if event.type == pygame.KEYDOWN:
if event.key ==pygame.K_LEFT:
POS_X=POS_X-10
#here i draw the rectangle
pygame.draw.rect(screen,(255,255,255),(POS_X,POS_Y,30,30))
clock.tick(FPS)
pygame.display.update()
pygame.quit()
は、私はpygameのいくつかの原理を理解していないと思うが、正直なところ、私はどちらかわかりません。