나는 간단한 그리드와 "플레이어"로 작동하는 간단한 스프라이트를 만들었습니다.Pygame.key.get_pressed - 간격을 추가하는 방법은 무엇입니까?
내 질문은 : 내가 이동하는 화살표 키를 사용하면 아래의 그림과 같이하지만, 캐릭터가 너무 빨리 이동 내가 이것을 방지하기 위해 키를 누를 때마다 이벤트 후 지연 또는 간격을 설정하는 방법 문제?
player.py
#!/usr/bin/python
import os, sys, pygame, random
from os import path
from pt import WIDTH,HEIGHT
from pygame.locals import *
img_dir = path.join(path.dirname(__file__), 'img')
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.width = 64
self.height = 64
self.image = pygame.image.load(path.join(img_dir, "player.png")).convert_alpha()
self.image = pygame.transform.scale(self.image,(self.width, self.height))
self.rect = self.image.get_rect()
self.speed = 64
# self.rect.x =
# self.rect.y =
def update(self):
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and self.rect.x > 0:
self.rect.x -= self.speed
elif keys[pygame.K_RIGHT] and self.rect.x < (WIDTH-self.width):
self.rect.x += self.speed
elif keys[pygame.K_UP] and self.rect.y > 0:
self.rect.y -= self.speed
elif keys[pygame.K_DOWN] and self.rect.y < (HEIGHT-self.height):
self.rect.y += self.speed