【pygame】保留轨迹(不储存版)|虚拟界面

import pygame

# 初始化 Pygame
pygame.init()

# 设置窗口大小
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Path  Trailing")

# 创建虚拟表面
trail_surface = pygame.Surface((width, height), pygame.SRCALPHA)

# 人物初始位置
player_x = width // 2
player_y = height // 2

# 人物大小
player_size = 20

# 人物移动速度
speed = 5

# 游戏主循环
running = True
clock = pygame.time.Clock()

while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

            # 获取按键状态
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT] and player_x > 0:
        player_x -= speed
    if keys[pygame.K_RIGHT] and player_x < width - player_size:
        player_x += speed
    if keys[pygame.K_UP] and player_y > 0:
        player_y -= speed
    if keys[pygame.K_DOWN] and player_y < height - player_size:
        player_y += speed

        # 在虚拟表面上绘制路径
    pygame.draw.circle(trail_surface, (255, 0, 0), (player_x + player_size // 2, player_y + player_size // 2), 2)

    # 填充屏幕背景色
    screen.fill((255, 255, 255))

    # 将虚拟表面绘制到屏幕上
    screen.blit(trail_surface, (0, 0))

    # 绘制人物
    pygame.draw.rect(screen, (0, 0, 255), (player_x, player_y, player_size, player_size))

    # 更新显示
    pygame.display.flip()

    # 控制帧率
    clock.tick(60)

# 退出 Pygame
pygame.quit()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值