pygame的字体画不出来_微软的python3教学的pygame的小游戏解析和学习-编程之家

1.微软的python教学的pygame的小游戏

1.1 小球自弹跳代码:(微软官方网站给的)

import sys, pygame #导出模块pygame.init() #初始化#定义界面参数size = width, height = 640, 480 #定义窗口大小dx = 1dy = 1x= 163y = 120black = (0,0,0) #颜色定义,黑色white = (255,255,255) #白色定义screen = pygame.display.set_mode(size)#屏幕设置属性和大小while 1:    for event in pygame.event.get():        if event.type == pygame.QUIT: sys.exit()    x += dx    y += dy    if x < 0 or x > width:           dx = -dx    if y < 0 or y > height:        dy = -dy    screen.fill(black) #屏幕背景颜色设定    pygame.draw.circle(screen, white, (x,y), 8) #小球的设定,颜色设定,位置,大小等    pygame.display.flip()

1.2 动图1:

pygame的字体画不出来_微软的python3教学的pygame的小游戏解析和学习-编程之家

2.对代码进行分析和改进

2.1 代码修改和说明

import sys, pygame #导出模块pygame.init() #初始化#定义界面参数#size = width, height = 640, 480 #定义窗口大小,源微软给的size = width, height = 1000, 800 #屏幕越大,小球的速度越小,你懂的dx = 1dy = 1x= 163y = 120#颜色RGB格式'''常用颜色格式:颜色           英文            十进制               十六进制纯红           Red           255,0,0             #FF0000纯白           White          255,255,255         #FFFFFF纯黑           Black          0,0,0               #000000纯黄           Yellow         255,255,0           #FFFF00纯绿           Green          0,128,0             #008000纯蓝           Blue           0,0,255             #0000FF灰色           Gray           128,128,128         #808080粉红色         Pink           255,192,203         #FFC0CB橙色           Orange         255,165,0           #FFA500紫色           Purple         128,0,128           #800080'''#颜色设置修改一下gray = (128,128,128) #设置背景颜色为灰色red = (255,0,0) #设置小球颜色为红色'''black = (0,0,0) #颜色定义,黑色white = (255,255,255) #白色定义'''# 设置窗口标题,自己添加的,微软没有给设置pygame.display.set_caption("微软小球自弹跳") #如果不设置,就是默认的标题:pygame Windowscreen = pygame.display.set_mode(size)#屏幕设置属性和大小while 1:    for event in pygame.event.get():        if event.type == pygame.QUIT: sys.exit()    x += dx    y += dy    if x < 0 or x > width:           dx = -dx    if y < 0 or y > height:        dy = -dy    screen.fill(gray) #屏幕背景颜色设定    pygame.draw.circle(screen, red, (x,y), 8) #小球的设定,颜色设定,位置,大小等    '''    screen.fill(black) #屏幕背景颜色设定    pygame.draw.circle(screen, white, (x,y), 8) #小球的设定,颜色设定,位置,大小等    '''    pygame.display.flip()

2.2 修改后的简洁代码:

import sys, pygame #导出模块pygame.init() #初始化size = width, height = 1000, 800 #屏幕越大,小球的速度越小,你懂的dx = 1dy = 1x= 163y = 120#颜色设置修改一下gray = (128,128,128) #设置背景颜色为灰色red = (255,0,0) #设置小球颜色为红色# 设置窗口标题,自己添加的,微软没有给设置pygame.display.set_caption("微软小球自弹跳") #如果不设置,就是默认的标题:pygame Windowscreen = pygame.display.set_mode(size)#屏幕设置属性和大小while 1:    for event in pygame.event.get():        if event.type == pygame.QUIT: sys.exit()    x += dx    y += dy    if x < 0 or x > width:           dx = -dx    if y < 0 or y > height:        dy = -dy    screen.fill(gray) #屏幕背景颜色设定    pygame.draw.circle(screen, red, (x,y), 8) #小球的设定,颜色设定,位置,大小等    pygame.display.flip()

2.3 动图2

pygame的字体画不出来_微软的python3教学的pygame的小游戏解析和学习-编程之家

3.顺带复习和学习pygame的使用

3.1 代码是模板,需要修改后才能使用

#导出模块import pygame# 初始化pygame库pygame.init()# ----------窗口相关操作-----------# 创建窗口window = pygame.display.set_mode([窗口宽, 窗口高]) #需要自行设置,一般650,480# 设置窗口标题pygame.display.set_caption("窗口标题")# 加载资源图片,返回图片对象#image = pygame.image.load("res/game.ico") #位置和名称,需要提前准备好# 设置窗口图标pygame.display.set_icon(image)# 指定坐标,将图片绘制到窗口#window.blit(image, (0, 0)) #指定坐标(0,0),也可以自行定义# ----------图像相关操作-----------# 加载图片文件,返回图片对象#image = pygame.image.load("图片路径") #图片路径和名称,注意图片格式# 获得图片矩形对象 -> Rect(x, y, width, height)# 默认情况下左上角的坐标是 (0, 0)#rect = image.get_rect(centerx=x, centery=y)# 在原位置基础上,移动指定的偏移量 (x, y 增加)rect.move_ip(num1, num2)# 判断两个矩形是否相交,相交返回True,否则返回Falseflag = pygame.Rect.colliderect(rect1, rect2)# 将图片对象按指定宽高缩放,返回新的图片对象trans_image = pygame.transform.scale(image, (WINDOWWIDTH, WINDOWHEIGHT))# ----------事件相关操作-----------# 常见事件类型:# QUIT 关闭窗口# KEYDOWN 键盘按键# 获得当前所有持续按键 bools_tuple# 获得所有事件的列表event_list = pygame.event.get()for event in event_list:# 1. 鼠标点击关闭窗口事件    if event.type == pygame.QUIT:        print("关闭了窗口")        sys.exit()# 2. 键盘按下事件    if event.type == pygame.KEYDOWN:# 判断用户按下的键是否是a键        if event.key == pygame.K_a:            print("按了 a ")        if event.key == pygame.K_UP:            print("按了 方向键上")# 3. 获得当前键盘所有按键的状态(按下,没有按下),返回bool元组pressed_keys = pygame.key.get_pressed()if pressed_keys[pygame.K_w] or pressed_keys[pygame.K_UP]:    print("按了 w 键,或者 方向键上")# ----------音效相关操作-----------# 加载背景音乐pygame.mixer.music.load("./res/音乐文件名") #注意路径和文件名# 循环播放背景音乐pygame.mixer.music.play(-1)# 停止背景音乐pygame.mixer.music.stop()# 加载音效boom_sound = pygame.mixer.Sound("./res/音效名") #注意路径和文件名# 播放音效boom_sound.play()# 停止音效boom_sound.stop()#颜色设定#三基色:Red Green Blue#0 ~ 255# -------- 文字显示操作font = pygame.font.SysFont('SimHei', 字体大小) #字体大小填写10等数字# render(text(文本内容), antialias(抗锯齿), color(RGB)),返回文字对象textobj = font.render(text, 1, (200, 200, 200))# 设置文字矩形对象位置textrect = textobj.get_rect()textrect.move_ip(水平偏移量, 竖直偏移量)# 在指定位置绘制指定文字对象window.blit(textobj, textrect)# 更新界面pygame.display.update()

3.2 可以尝试修改看看。