小五义 发表于 2012-12-17 21:53:06

pygame学习笔记(3)——时间、事件、文字

<div id="cnblogs_post_body">转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi
1、运动速率
    上节中,实现了一辆汽车在马路上由下到上行驶,并使用了pygame.time.delay(200)来进行时间延迟。看了很多参考材料,基本每个材料都会谈到不同配置机器下运动速率的问题,有的是通过设定频率解决,有的是通过设定速度解决,自己本身水平有限,看了几篇,觉得还是《Beginning Game Development with Python and Pygame》这里面提到一个方法比较好。代码如下,代码里更改的地方主要是main里的代码,其中利用clock=pygame.time.Clock()来定义时钟,speed=250.0定义了速度,每秒250像素,time_passed=clock.tick()为上次运行时间单位是毫秒,time_passed_seconds=time_passed/1000.0将单位改为秒,distance_moved=time_passed_seconds*speed时间乘以速度得到移动距离,这样就能保证更加流畅。
<div class="cnblogs_code">#@小五义 http://www.cnblogs.com/xiaowuyiimport pygame,sysdef lineleft():    plotpoints=[]    for x in range(0,640):      y=-5*x+1000      plotpoints.append()    pygame.draw.lines(screen,,False,plotpoints,5)    pygame.display.flip()def lineright():    plotpoints=[]    for x in range(0,640):      y=5*x-2000      plotpoints.append()    pygame.draw.lines(screen,,False,plotpoints,5)    pygame.display.flip()    def linemiddle():    plotpoints=[]    x=300    for y in range(0,480,20):      plotpoints.append()      if len(plotpoints)==2:            pygame.draw.lines(screen,,False,plotpoints,5)            plotpoints=[]    pygame.display.flip() def loadcar(yloc):    my_car=pygame.image.load('ok1.jpg')    locationxy=,yloc]    screen.blit(my_car,locationxy)    pygame.display.flip()    if __name__=='__main__':    pygame.init()    screen=pygame.display.set_caption('hello world!')    screen=pygame.display.set_mode(])    screen.fill([255,255,255])    lineleft()    lineright()    linemiddle()   clock=pygame.time.Clock()    looper=480    speed=250.0    while True:      for event in pygame.event.get():            if event.type==pygame.QUIT:                sys.exit()      pygame.draw.rect(screen,[255,255,255],],0)      time_passed=clock.tick()      time_passed_seconds=time_passed/1000.0      distance_moved=time_passed_seconds*speed      looper-=distance_moved                if looper<-480:            looper=480          loadcar(looper)
页: [1]
查看完整版本: pygame学习笔记(3)——时间、事件、文字