pygame示例注释二
#!/usr/bin/env python#coding=utf-8"""Here we load a .TTF font file, and display it ina basic pygame window. It demonstrates several of theFont object attributes. Nothing exciting in here, butit makes a great example for basic window, event, andfont management."""import pygamefrom pygame.locals import *from pygame.compat import unichr_, unicode_import sysimport localeif sys.version_info >= (3,): def print_unicode(s): e = locale.getpreferredencoding() print (s.encode(e, 'backslashreplace').decode())else: def print_unicode(s): e = locale.getpreferredencoding() print (s.encode(e, 'backslashreplace'))def main(): #initialize pygame.init()#pygame初始化 resolution = 400, 200 screen = pygame.display.set_mode(resolution)#设置屏幕长宽## pygame.mouse.set_cursor(*pygame.cursors.diamond) fg = 250, 240, 230 bg = 5, 5, 5 wincolor = 40, 40, 90 #fill background screen.fill(wincolor)#用颜色填充背景 #load font, prepare values font = pygame.font.Font(None, 150)#设置字体大小 text = 'China'#要显示的字体 size = font.size(text)# #no AA, no transparancy, normal ren = font.render(text, 0, fg, bg)#用前景色 背景色渲染文本,并返回Surface screen.blit(ren, (10, 10))#将文字绘制到屏幕 #no AA, transparancy, underline font.set_underline(1)#设置下划线 ren = font.render(text, 0, fg)#用前景色渲染文本 #screen.blit(ren, (10, 40 + size))#将文本绘制到屏幕 font.set_underline(0)#去掉字体下划线 a_sys_font = pygame.font.SysFont("Arial", 60)#从系统的字体资源创建一个pygame字体 #AA, no transparancy, bold 3 a_sys_font.set_bold(1)#设置粗体 ren = a_sys_font.render(text, 1, fg, bg)#用字体渲染文本 screen.blit(ren, (30 + size, 10))#将文本绘制的屏幕 a_sys_font.set_bold(0)#取消字体粗体显示 #AA, transparancy, italic 4 a_sys_font.set_italic(1) ren = a_sys_font.render(text, 1, fg) screen.blit(ren, (30 + size, 40 + size)) a_sys_font.set_italic(0) # Get some metrics. print ("Font metrics for 'Fonty':%s" % a_sys_font.metrics (text)) ch = unicode_("%c") % 0x3060 msg = (unicode_("Font metrics for '%s':%s") % (ch, a_sys_font.metrics (ch))) print_unicode(msg) ## #some_japanese_unicode = u"\u304b\u3070\u306b" ##some_japanese_unicode = unicode_('%c%c%c') % (0x304b, 0x3070, 0x306b) #AA, transparancy, italic ##ren = a_sys_font.render(some_japanese_unicode, 1, fg) ##screen.blit(ren, (30 + size, 40 + size)) #show the surface and await user quit pygame.display.flip() while 1: #use event.wait to keep from polling 100% cpu if pygame.event.wait().type in (QUIT, KEYDOWN, MOUSEBUTTONDOWN):#关闭按钮,按下任意键,按下鼠标 breakif __name__ == '__main__': main()
页:
[1]