Tôi đang làm một trò chơi trong pygame 1.9.2. Đó là một trò chơi đơn giản, trong đó một con tàu di chuyển giữa năm cột kẻ xấu tấn công bằng cách di chuyển từ từ xuống dưới. Tôi đang cố gắng làm cho nó di chuyển sang trái và sang phải bằng các phím mũi tên trái và phải. Đây là mã của tôi:Làm thế nào để có được đầu vào bàn phím trong pygame?
keys=pygame.key.get_pressed()
if keys[K_LEFT]:
location-=1
if location==-1:
location=0
if keys[K_RIGHT]:
location+=1
if location==5:
location=4
Nó hoạt động quá tốt. Con tàu di chuyển quá nhanh. Nó gần như không thể có nó di chuyển chỉ có một vị trí, trái hoặc phải. Làm thế nào tôi có thể làm cho nó để con tàu chỉ di chuyển một lần mỗi lần nhấn phím?
Tôi đã cố gắng sử dụng điều này nhưng vấn đề là nó chỉ di chuyển nếu tôi nhấn nút vào đúng thời điểm pygame đang tìm kiếm sự kiện đó. Nó sẽ không di chuyển khi tôi muốn nó. –
Vâng, bạn phải kiểm tra các sự kiện của bạn trên mỗi lần cập nhật vòng lặp trò chơi của bạn. Bạn đã làm điều này? Sự kiện sẽ ở trong hàng đợi sự kiện của Pygame cho đến khi bạn đọc chúng hoặc bơm chúng. – Haz
Dan, câu trả lời này là chính xác những gì bạn yêu cầu, nhưng hãy nhớ rằng sử dụng các sự kiện bạn sẽ không thể liên tục di chuyển con tàu của bạn mà bạn có thể muốn nếu bạn có thể kiểm soát tốc độ. Bạn có thể giữ mã ban đầu và khi bạn phát hiện một phím được nhấn, bạn có thể dễ dàng bỏ qua các nút được nhấn cho các vòng lặp N. – pmoleri