Hàm của riêng bạn
Thuộc phần Python trong cửa sổ trò chơi trong hành trình Pygame của Coddy. Bài học 21 trên 33.
Một hàm là nhóm dòng lệnh có tên mà bạn có thể chạy bất cứ khi nào muốn. def tạo ra một hàm:
def draw_star():
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)def, tên hàm, dấu ngoặc đơn và dấu hai chấm; phần thân hàm được thụt lề bên dưới. Định nghĩa hàm không vẽ gì cả: Python chỉ ghi nhớ các dòng lệnh bên dưới tên hàm.
Để chạy các dòng lệnh đó, hãy gọi hàm: viết tên hàm kèm dấu ngoặc đơn.
draw_star()Định nghĩa các hàm trong phần thiết lập, trước vòng lặp trò chơi, rồi gọi chúng trong vòng lặp tại nơi bạn cần. Bạn đã gọi hàm từ bài học đầu tiên: print() và pygame.draw.circle() cũng là các hàm do người khác viết.
pygame.draw.line(screen, colour, start, end, width) vẽ một đường thẳng nối hai điểm.
Thử thách
Trung bìnhĐặt ngôi sao vào một hàm (function).
- Trong phần thiết lập, tạo
def draw_star():rồi chuyển ba dòng vẽ ngôi sao vào phần thân hàm. - Trong phần vẽ, gọi
draw_star().
Nhấn Chơi: ngôi sao vẫn xuất hiện ở giữa. Sau đó nhấn Kiểm tra.
Tự làm thử
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Thiết lập mọi thứ ở đây, trước vòng lặp trò chơi.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Thay đổi mọi thứ ở đây, mỗi khung hình một lần.
screen.fill((20, 24, 48))
# Vẽ ở đây, sau khi tô màu nền.
pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tất cả bài học trong Python trong cửa sổ trò chơi
1Cửa sổ đầu tiên
Chương trình đầu tiên của bạnIn ra một thông điệpIn ra một sốMàu sắc dưới dạng sốVẽ mặt trăngTự luyện tập: Playground Pygame