任务一:实现简单的屏幕的颜色之间的切换
import pygame from pygame.locals import * pygame.init() win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE) for i in range(10): win.fill((0,255,0)) if i%2==0: win.fill((255,0,0)) pygame.time.wait(500) pygame.display.flip()
注意的点:
需要先导入Pygame.locals才能用后来的doublebuf 以及hwsurface
但是怎么样定义屏幕的颜色即 depth 的设置还不是很懂。
任务二:捕捉鼠标移动的事件,并在鼠标的位置画一个圆
import pygame from pygame.locals import * import sys pygame.init() win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE) while True: ev = pygame.event.get() for i in ev: if not i ==None: print(i) if i.type==QUIT: pygame.quit() elif i.type==MOUSEMOTION: pygame.draw.circle(win,(255,0,0),i.pos,3, 3) pygame.display.flip()
疑问:在pygame.draw.circle函数中不能加关键字如radius=, 或者width =,只能直接写值,不知道为什么。
还有在捕捉事件的过程中一定要加入死循环,不然事件会瞬间打印出来,再后来的事件发生之前,捕捉已经结束。