中国建设基础设施公司网站,信息化建设包括网站建设,腾达建设集团股份有限公司网站,长春网站只长春网站制作做文章目录 简介时钟对象平抛运动 pygame系列#xff1a;初步#x1f48e;加载图像#x1f48e;图像变换#x1f48e;直线绘制
简介
之前在更新图形的时候#xff0c;为了调控死循环的响应时间#xff0c;用到了time.sleep。而实际上#xff0c;我们并不需要额外导入其他… 文章目录 简介时钟对象平抛运动 pygame系列初步加载图像图像变换直线绘制
简介
之前在更新图形的时候为了调控死循环的响应时间用到了time.sleep。而实际上我们并不需要额外导入其他包pygame就提供了time模块用以调控游戏的帧率。
time中主要有下面几种
方法和类get_ticks获取pygame初始化后的毫秒数wait(milliseconds) delay(milliseconds)延时前者更轻量后者更精确set_timer重复创建事件队列中的事件Clock时钟对象
时钟对象
Clock是time模块中的时钟类封装了下列方法
方法tick, tick_busy_loop更新时钟前者更轻量后者更精确get_time, get_rawtime上一次tick的毫秒数get_fps计算时钟帧率
下面简单测试一下时钟类
import pygame as pgc pg.time.Clock()
c.tick() # 5
c.tick_busy_loop() # 1
c.get_time() # 1平抛运动
接下来用time模块将平抛运动重做一次代码如下
import pygame as pgpg.init()size width, height 640, 320
speed [10, 0]screen pg.display.set_mode(size)ball pg.image.load(intro_ball.gif)
rect ball.get_rect()th 0
while True:if pg.QUIT in [e.type for e in pg.event.get()]:pg.quit()breakpg.time.delay(20)rect rect.move(speed)if rect.rightwidth:speed [10, 0]rect ball.get_rect()if rect.bottomheight:speed[1] -speed[1]speed[1] 1th 5screen.fill(black)screen.blit(pg.transform.rotate(ball, th), rect)pg.display.flip()效果如下