怎么样才能让游戏中的人物动起来呢? 首先,得知到游戏循环的刷新帧率 利用时钟,设置游戏循环的刷新帧率 正常来说,python在进行无限循环的时候, 速度是非常快的,如以下代码: 运行结果如下: 可以看到,短短几秒钟就已经跑了100多万了,但是我们游戏循环中的代码不需要执行的这么快,大概每秒执行60次效果就挺好的,那么需要怎么解决呢?? 代码如下: 可以看到 确实是每秒一下地输出了数字 英雄的简单动画实现 代码如下: 可以看到英雄的飞机在向上移动了 但是,英雄飞机移动时会留下飞机的残影,这要怎么解决呢? 可以看出,残影问题就解决啦 那现在飞机在一直往上飞,要是飞出屏幕了咋办?我们设定如果飞机飞出屏幕,那么就从屏幕底部重新飞出来 运行,可以看到飞机飞出屏幕问题也解决了
import pygame pygame.init() #创建游戏窗口 大小为480 * 700 #绘制背景图像 screen = pygame.display.set_mode((480,700)) #加载图像数据 bg = pygame.image.load(r'.imagesbackground.png') #通过blit来绘制图像,从游戏窗口screen的(0,0)处开始绘制 screen.blit(bg, (0,0)) #绘制自己的小飞机 hero = pygame.image.load(r'.imagesme1.png') screen.blit(hero, (200,500)) #在绘制完所有图像后,再统一调用update方法 pygame.display.update() i = 0 while True: print(i) i+=1 pygame.quit()
pygame.time.Clock
,可以非常方便的设置屏幕的绘制速度 —-刷新帧率import pygame pygame.init() #创建游戏窗口 大小为480 * 700 #绘制背景图像 screen = pygame.display.set_mode((480,700)) #加载图像数据 bg = pygame.image.load(r'.imagesbackground.png') #通过blit来绘制图像,从游戏窗口screen的(0,0)处开始绘制 screen.blit(bg, (0,0)) #绘制自己的小飞机 hero = pygame.image.load(r'.imagesme1.png') screen.blit(hero, (200,500)) #在绘制完所有图像后,再统一调用update方法 pygame.display.update() i = 0 #创建时钟对象 clock = pygame.time.Clock() while True: #假设 设定每秒1下 clock.tick(1) print(i) i+=1 pygame.quit()
import pygame pygame.init() #创建游戏窗口 大小为480 * 700 #绘制背景图像 screen = pygame.display.set_mode((480,700)) #加载图像数据 bg = pygame.image.load(r'.imagesbackground.png') #通过blit来绘制图像,从游戏窗口screen的(0,0)处开始绘制 screen.blit(bg, (0,0)) #绘制自己的小飞机 hero = pygame.image.load(r'.imagesme1.png') screen.blit(hero, (150,300)) #在绘制完所有图像后,再统一调用update方法 pygame.display.update() #创建时钟对象 clock = pygame.time.Clock() #定义rect记录飞机的初始位置,102,126分别为飞机图片的宽高 hero_rect = pygame.Rect(150, 300, 102, 126) while True: clock.tick(1) #修改飞机的位置 hero_rect.y -= 50 #调用blit方法绘制图像 screen.blit(hero, hero_rect) #调用update方法更新显示 pygame.display.update() pygame.quit()
import pygame pygame.init() #创建游戏窗口 大小为480 * 700 #绘制背景图像 screen = pygame.display.set_mode((480,700)) #加载图像数据 bg = pygame.image.load(r'.imagesbackground.png') #通过blit来绘制图像,从游戏窗口screen的(0,0)处开始绘制 screen.blit(bg, (0,0)) #绘制自己的小飞机 hero = pygame.image.load(r'.imagesme1.png') screen.blit(hero, (150,300)) #在绘制完所有图像后,再统一调用update方法 pygame.display.update() #创建时钟对象 clock = pygame.time.Clock() #定义rect记录飞机的初始位置,102,126分别为飞机图片的宽高 hero_rect = pygame.Rect(150, 300, 102, 126) while True: clock.tick(1) #修改飞机的位置 hero_rect.y -= 50 #调用blit方法绘制图像 screen.blit(bg, (0,0))#在每次绘制飞机之前,再将背景绘制一下 screen.blit(hero, hero_rect) #调用update方法更新显示 pygame.display.update() pygame.quit()
import pygame pygame.init() #创建游戏窗口 大小为480 * 700 #绘制背景图像 screen = pygame.display.set_mode((480,700)) #加载图像数据 bg = pygame.image.load(r'.imagesbackground.png') #通过blit来绘制图像,从游戏窗口screen的(0,0)处开始绘制 screen.blit(bg, (0,0)) #绘制自己的小飞机 hero = pygame.image.load(r'.imagesme1.png') screen.blit(hero, (150,300)) #在绘制完所有图像后,再统一调用update方法 pygame.display.update() #创建时钟对象 clock = pygame.time.Clock() #定义rect记录飞机的初始位置,102,126分别为飞机图片的宽高 hero_rect = pygame.Rect(150, 300, 102, 126) while True: clock.tick(60) #修改飞机的位置 hero_rect.y -= 1 #判断飞机位置 if hero_rect.y <= 0: hero_rect.y = 700 #调用blit方法绘制图像 screen.blit(bg, (0,0))#在每次绘制飞机之前,再将背景绘制一下 screen.blit(hero, hero_rect) #调用update方法更新显示 pygame.display.update() pygame.quit()
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算