Di chuyển một đối tượng trong PyGame - Python

Category: Pygame

Để tạo trò chơi hoặc hoạt ảnh bằng Python với PyGame , việc di chuyển một đối tượng trên màn hình là một trong những điều đầu tiên cần học. Chúng ta sẽ xem cách di chuyển một đối tượng sao cho nó di chuyển theo chiều ngang khi nhấn phím mũi tên phải hoặc phím mũi tên trái trên bàn phím và di chuyển theo chiều dọc khi nhấn phím mũi tên lên hoặc phím mũi tên xuống. Chúng ta sẽ tạo một cửa sổ trò chơi, vẽ một đối tượng và cập nhật vị trí của nó dựa trên dữ liệu đầu vào của người dùng.

Thay đổi tọa độ cho các phím tương ứng được nhấn:

Left arrow key: Decrement in x co-ordinate
Right arrow key: Increment in x co-ordinate
Up arrow key: Decrement in y co-ordinate
Down arrow key: Increment in y co-ordinate

Thiết lập PyGame

Trước khi bắt đầu, hãy đảm bảo PyGame đã được cài đặt. Chúng ta có thể cài đặt bằng cách:

pip install pygame

Ví dụ: Di chuyển hình chữ nhật

Trong đoạn mã này, chúng ta tạo một cửa sổ bằng PyGame và vẽ một hình chữ nhật trên màn hình. Hình chữ nhật có thể được di chuyển bằng các phím mũi tên và vị trí của nó sẽ được cập nhật khi chúng ta nhấn các phím. Điều này giúp học cách xử lý chuyển động và đầu vào của người dùng trong PyGame.

import pygame 
pygame.init() 

win = pygame.display.set_mode((500, 500)) 
pygame.display.set_caption("Moving rectangle") 

x = 200
y = 200

width = 20
height = 20

vel = 10
run = True

# vòng lặp vô hạn
while run: 
	pygame.time.delay(10) 
	
	for event in pygame.event.get(): 
		if event.type == pygame.QUIT: 
			run = False
	keys = pygame.key.get_pressed() 
	
	if keys[pygame.K_LEFT] and x>0: 
		x -= vel 
		
	if keys[pygame.K_RIGHT] and x<500-width: 
		x += vel 
		
	if keys[pygame.K_UP] and y>0: 
		y -= vel 
		
	if keys[pygame.K_DOWN] and y<500-height: 
		y += vel 
		
	win.fill((0, 0, 0)) 
	pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) 
	pygame.display.update() 

pygame.quit()

Đầu ra:

Giải thích: Mã này -

  • Nhập và khởi tạo Pygame để sử dụng các tính năng của nó.

  • Tạo cửa sổ trò chơi có kích thước 500x500 và đặt tiêu đề.

  • Xác định vị trí hình chữ nhật (x, y) , kích thước và tốc độ.

  • Chạy vòng lặp để giữ cửa sổ hoạt động cho đến khi đóng.

  • Sử dụng pygame.event.get() để phát hiện sự kiện thoát.

  • Sử dụng pygame.key.get_pressed() để phát hiện các lần nhấn phím mũi tên.

  • Cập nhật vị trí của hình chữ nhật dựa trên phím nhập.

  • Xóa màn hình và vẽ lại hình chữ nhật sau mỗi khung hình.

  • Làm mới màn hình bằng cách sử dụng pygame.display.update() .

  • Thoát khỏi Pygame khi vòng lặp kết thúc.

Published on Jul 28, 2025

Related Posts