篮子
Coddy 用 Pygame 制作游戏 课程的第 9 课,共 41 课。
新游戏:方块从顶部落下,你要用篮子接住它们。篮子和方块都是矩形,所以它们是 pygame.Rect 对象,就像《宝石狩猎》中的宝石和箱子一样。
basket = pygame.Rect(200, 330, 80, 16)除了 basket.x 和 basket.y,Rect 还知道自己的边缘:basket.left、basket.right、basket.top、basket.bottom,以及自己的中点 basket.centerx。
将 Rect 直接传给 pygame.draw.rect(screen, color, basket)。它还可以让自己保持在另一个 Rect 内:basket.clamp_ip(screen.get_rect()) 会在它越过窗口边缘时将它移回窗口内。screen.get_rect() 是窗口自己的 Rect。
挑战
简单为“Catch the Blocks”制作篮子。
- 在循环之前,创建
basket = pygame.Rect(200, 330, 80, 16)。 - 在填充屏幕之前,按住左键或右键时,让它每帧移动 8 像素,然后执行
basket.clamp_ip(screen.get_rect())。 - 填充屏幕后,将它绘制成蓝色
(80, 160, 255)。
按“开始”,然后按住左键或右键:篮子会在边缘处停下。然后按“检查”。
亲手试试
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.display.flip()
clock.tick(60)
pygame.quit()
用 Pygame 制作游戏中的所有课
自己练习: Pygame 在线编辑器