六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 50|回复: 0

pygame示例注释二

[复制链接]

升级  30%

23

主题

23

主题

23

主题

秀才

Rank: 2

积分
95
 楼主| 发表于 2013-1-26 12:41:55 | 显示全部楼层 |阅读模式
#!/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[1]))#将文本绘制到屏幕    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[0], 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[0], 40 + size[1]))    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[0], 40 + size[1]))       #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()
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表