Pygame动画:精灵与碰撞检测
1. 基础动画回顾与优化
在之前的动画示例中,我们实现了一个沙滩球在窗口中移动的效果。代码如下:
import pygame, sys
pygame.init()
screen = pygame.display.set_mode([640,480])
screen.fill([255, 255, 255])
my_ball = pygame.image.load('beach_ball.png')
x = 50
y = 50
x_speed = 5
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
pygame.time.delay(20)
pygame.draw.rect(screen, [255,255,255], [x, y, 90, 90], 0)
x = x + x_speed
if x > screen.get_width():
x = 0
screen.blit(my_ball, [x, y])
pygame.display.flip()
在这个代码中,我们通过检测球是否到达窗口的右边缘,实现了球的循环移动效果。不过,当球出现在右侧时,它会突然“弹出”在 [0, 50] 位置,为了让效果更自然,我们可以将 x = 0 改为 x = -90
超级会员免费看
订阅专栏 解锁全文
4888

被折叠的 条评论
为什么被折叠?



