玩蛇系列之Pygame教程(四)-- 绘制文字

如果你想绘制文字到屏幕上,Pygame提供了很方便的方法使用的** . ttf **字体文件,这样我们就能很轻易的将文字绘制在屏幕上了。

这里我在自己的电脑 C:\Windows\Fonts 中随便挑了一个字体文件 PAPYRUS.ttf 作为字体。

主要用到的方法:

  • pygame.font.Font(filename, size)
    filename:字体文件的文件名;
    size:字体的高height,单位为像素;

  • pygame.font.Font.render(text, antialias, color, background=None)
    text:要显示的文字;
    antialias: 是否抗锯齿;
    color:字体颜色;
    background:背景颜色(可选参数);

  • .get_rect()
    获得一个对象的rect,以便于设置其坐标位置

代码实现:

# -*- coding: UTF-8 -*-
'''
Created on 2016年11月16日

@author: 小峰峰
'''
import pygame, sys # 声明 导入需要的模块

from pygame.locals import *



pygame.init()# 初始化pygame

DISPLAYSURF = pygame.display.set_mode((400,300))# 设置窗口的大小,单位为像素

pygame.display.set_caption('Font')# 设置窗口的标题


# 定义几个颜色
WHITE = (255, 255, 255)
GREEN = ( 0, 255, 0)
BLUE = ( 0, 0, 128)


fontObj = pygame.font.Font('PAPYRUS.ttf', 48)# 通过字体文件获得字体对象

textSurfaceObj = fontObj.render('Hello world!', True, GREEN, BLUE)# 配置要显示的文字

textRectObj = textSurfaceObj.get_rect()# 获得要显示的对象的rect

textRectObj.center = (200, 150)# 设置显示对象的坐标

DISPLAYSURF.fill(WHITE)# 设置背景

DISPLAYSURF.blit(textSurfaceObj, textRectObj)# 绘制字体


while True: # 程序主循环

    for event in pygame.event.get():# 获取事件
        
        if event.type == QUIT:# 判断事件是否为退出事件
            
            pygame.quit()# 退出pygame
            
            sys.exit()# 退出系统
            
    pygame.display.update()# 绘制屏幕内容

运行结果:

玩蛇系列之Pygame教程(四)-- 绘制文字_第1张图片

你可能感兴趣的:(玩蛇系列之Pygame教程(四)-- 绘制文字)