python学习之pygame画图模块
cmd中执行命令:pip install pygame 如果已经安装,则会告知“Requirement already satisified”。
代码
import pygamepygame.init()screen = pygame.display.set_mode([640, 480])running = Truewhile running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = Falsepygame.quit()执行:
生成一个640*480大小的黑色窗口。
代码
import pygame, syspygame.init()screen = pygame.display.set_mode([640,480])screen.fill([255,255,255]) # fill screen with white pygame.draw.circle(screen, [255,0,0],[100,100], 30, 0) # draw red circlepygame.display.flip()running = Truewhile running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = Falsepygame.quit()执行
代码screen.fill([255,255,255])
将画布设置为了白色。
注意:除了pygame可以画出很多形状,如aalines,arc,circle,ellipse,lines,polygon…且可以对其大小颜色等属性进行设置。
可以用大量很小的圆或矩形形成一个像素点。
import pygame, sysimport math pygame.init()screen = pygame.display.set_mode([640,480])screen.fill([255, 255, 255])running = Truewhile running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False for x in range(0, 640): y = int(math.sin(x/640.0 * 4 * math.pi) * 200 + 240) # sine wave formula # draw the wave using small rectangles pygame.draw.rect(screen, [0,0,0],[x, y, 1, 1], 1) # x, y is the location of each rectangle # in the wave pygame.display.flip() pygame.time.delay(30)pygame.quit()执行
在屏幕上画图是一种方法,另一种是将照片添加在屏幕上。
import pygame, syspygame.init()screen = pygame.display.set_mode([640,480])screen.fill([255, 255, 255])my_ball = pygame.image.load("beach_ball.png") # load the image from a file screen.blit(my_ball, [50, 50]) # draw or 'blit' it to the screenpygame.display.flip()running = Truewhile running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = Falsepygame.quit()在新的位置画出图形,再把原来的图形擦掉。
import pygame, syspygame.init()screen = pygame.display.set_mode([640,480])screen.fill([255, 255, 255])my_ball = pygame.image.load('beach_ball.png')screen.blit(my_ball,[50, 50]) # draw the beach ballpygame.display.flip()pygame.time.delay(2000)screen.blit(my_ball, [150, 50]) # draw it again, somewhere else# "erase" the first beach ballimagepygame.draw.rect(screen, [255,255,255], [50, 50, 90, 90], 0) pygame.display.flip()running = Truewhile running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = Falsepygame.quit()新闻热点
疑难解答