在pygame中改变圆圈的方向当撞到"墙"时,可以通过以下步骤实现:
pygame.display.set_mode()
函数创建游戏窗口,并确定墙体边界的位置。完整的代码示例:
import pygame
import sys
# 初始化pygame
pygame.init()
# 定义窗口尺寸和颜色
width, height = 800, 600
bg_color = (255, 255, 255)
# 定义圆圈初始位置和速度
circle_pos = [width // 2, height // 2]
circle_speed = [2, 2]
# 定义墙体边界
wall_left = 100
wall_right = width - 100
wall_top = 100
wall_bottom = height - 100
# 创建窗口
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Move Circle")
# 游戏主循环
while True:
# 填充背景色
screen.fill(bg_color)
# 监听事件
for event in pygame.event.get():
# 退出事件
if event.type == pygame.QUIT:
sys.exit()
# 更新圆圈位置
circle_pos[0] += circle_speed[0]
circle_pos[1] += circle_speed[1]
# 检测碰撞
if circle_pos[0] < wall_left or circle_pos[0] > wall_right:
circle_speed[0] = -circle_speed[0] # 改变水平方向
if circle_pos[1] < wall_top or circle_pos[1] > wall_bottom:
circle_speed[1] = -circle_speed[1] # 改变垂直方向
# 绘制圆圈
pygame.draw.circle(screen, (0, 0, 255), circle_pos, 50)
# 绘制墙体
pygame.draw.rect(screen, (0, 0, 0), (wall_left, wall_top, wall_right - wall_left, wall_bottom - wall_top), 2)
# 更新显示
pygame.display.flip()
在上述代码中,我们创建了一个窗口,并在窗口中绘制了一个圆圈和墙体。通过监听事件和碰撞检测,我们可以实现圆圈在撞到墙体时改变方向。
领取专属 10元无门槛券
手把手带您无忧上云