竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

用python和pygame游戲編程入門-顯示文字

極客小將2020-10-28-
上一節我們通過鍵盤可以控制角色移動,如果要讓角色說話,那就要用到文字顯示。

用python和pygame游戲編程入門-顯示文字

上一節我們通過鍵盤可以控制角色移動,如果要讓角色說話,那就要用到文字顯示。Pygame可以直接調用系統字體,或者也可以使用TTF字體,TTF就是字體文件,可以從網上下載。為了使用字體,你得先創建一個Font對象,對于系統自帶的字體:

my_font = pygame.font.SysFont("arial", 16)

第一個參數是字體名,第二個自然就是大小,一般來說“Arial”字體在很多系統都是存在的,如果找不到的話,就會使用一個默認的字體,你也可以使用pygame.font.get_fonts()來獲得當前系統所有可用字體。

一旦你創建了一個font對象,你就可以使用render方法來寫字了,然后就能blit到屏幕上:

text_surface = my_font.render("Pygame is cool!", True, (0,0,0), (255, 255, 255))

第一個參數是寫的文字;第二個參數是個布爾值,以為這是否開啟抗鋸齒,就是說True的話字體會比較平滑,不過相應的速度有一點點影響;第三個參數是字體的顏色;第四個是背景色,如果你想沒有背景色(也就是透明),那么可以不加這第四個參數。

下面我們來修改上一節的程序,加上一個文字跟隨章魚移動:

#!/usr/bin/env python
#指定圖像文件名稱
background_image_filename = './img/Underwater.png'
mouse_image_filename = './img/octopus.png'
import pygame
from pygame.locals import *
from sys import exit
#初始化pygame,為使用硬件做準備
pygame.init()
print(pygame.font.get_fonts())#查看系統支持的字體
font = pygame.font.SysFont("華文楷體", 20)
text_surface= font.render("Hello!", True, (255, 255, 255))
#text_surface = font.render(u"你好啊,我是老章!", True, (255, 255, 255))

 #創建了一個窗口
screen = pygame.display.set_mode((960, 720), 0, 32)
#設置窗口標題
pygame.display.set_caption("海底世界")
#加載并轉換圖像
background = pygame.image.load(background_image_filename).convert()
kcursor = pygame.image.load(mouse_image_filename).convert_alpha()
#游戲主循環
x, y = 0, 0
move_x, move_y = 0, 0
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
           exit()
        if event.type == KEYDOWN:
            #鍵盤有按下?
            if event.key == K_LEFT:
                #按下的是左方向鍵的話,把x坐標減一
                move_x = -1
            elif event.key == K_RIGHT:
                #右方向鍵則加一
                move_x = 1
            elif event.key == K_UP:
                #類似了
                move_y = -1
            elif event.key == K_DOWN:
                move_y = 1
        elif event.type == KEYUP:
            #如果用戶放開了鍵盤,圖就不要動了
            move_x = 0
            move_y = 0
    #計算出新的坐標
    x+= move_x
    y+= move_y
    
    screen.fill((0,0,0))
    screen.blit(background, (0,0))
    screen.blit(kcursor, (x,y))
    screen.blit(text_surface, (x, y))
    #在新的位置上畫圖
    pygame.display.update()

如何顯示中文?

簡單來說,首先你得用一個可以使用中文的字體,宋體、黑體什么的,然后文字使用unicode,即u”中文的文字”這種

text_surface = font.render(u"你好啊,我是老章!", True, (255, 255, 255))

這樣就可以顯示出中文了,上面的代碼有注釋,可以試試看。

本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 国产欧美精品一区二区 | 欧洲精品久久久 | www.射| 免费看男女www网站入口在线 | 黑人一区二区 | 国产精品久久久影院 | 亚洲精品一区久久久久久 | 国产成人精品av | 欧美日韩中文在线观看 | 狠狠操综合 | 中文字幕在线电影 | 中文字幕精品亚洲 | 日韩免费电影 | 国产精品久久久久久久久久免费看 | 九九热精品在线视频 | 国产伦精品一区二区三区 | 国产成人精品久久 | 国产 日韩 一区 | 日韩av网址大全 | 国产高清无密码一区二区三区 | 97精品一区二区三区 | 日韩一级片在线播放 | 成人做爰视频www网站小优视频 | 久久免费少妇 | 国产曰批免费观看久久久 | 国产精品页 | 欧美日本韩国在线 | 亚洲免费成人av | 97视频在线免费播放 | 欧美成人一区二区三区片免费 | 天天操天天射天天爽 | 国产日韩欧美一二三区 | 亚洲毛片网站 | 久久久久99精品国产片 | 国产欧美精品一区二区三区四区 | 国产成人精品一区二区三区 | 国产成人一区 | 日韩高清在线 | 黄色精品一区 | 青青草久久 | 91久久久久久久久久久 |