|
发表于 2020-4-25 16:43:54
|
显示全部楼层
本帖最后由 wuqramy 于 2020-4-25 16:45 编辑
没问题啊...
可能是delay造成的,建议使用pygame time模块的Clock类,可以百度自己科普一下
修改后代码:
- import pygame
- import sys
- #使用之前需要初始化
- pygame.init()
- size = width, height = 800,600 #设置整个背景的大小
- speed = [-2, 1] #这是爬行时在x,y方向的速度
- bg = (255,255,255) #背景颜色的RGB
- #创建指定大小的窗口 这个函数会返回一个对象
- screen = pygame.display.set_mode(size)
- #设置窗口标题
- pygame.display.set_caption('猪猪爬行...')
- clock = pygame.time.Clock()
- #加载图片
- zhuzhu = pygame.image.load('zhuzhu.png')
- #获得图像的位置矩形
- position = zhuzhu.get_rect()
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- sys.exit()
- #移动图像
- position = position.move(speed)
- if position.left < 0 or position.right > width:
- #翻转图像,因为左边碰边界了
- zhuzhu = pygame.transform.flip(zhuzhu,True,False) #第二个参数是否水平翻转,第三个参数是否竖直翻转
- #反方向移动
- speed[0] = -speed[0]
- if position.top < 0 or position.bottom > height:
- speed[1] = -speed[1]
- #填充背景
- screen.fill(bg)
- #更新图像
- screen.blit(zhuzhu,position)
- #更新界面
- pygame.display.flip()
- #延迟10毫秒,不然移动会太快
- clock.tick(60)
复制代码 |
|