python趣味编程第二课:本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的

大家好,我是C大叔,上一篇文章已经跟大家介绍了一款开发工具及如何在pygame屏幕中画图片,本节课将继续上节课程,在pygame屏幕中显示文字。


流程如下:

  1. 代码导入
  2. 加载字体
  3. 写字
  4. 显示文字

1.代码导入

同样是复制下面代码到新建的python项目中

import pygame
import sys
pygame.init() screen = pygame.display.set_mode((1200, 600))
screen.fill((200, 200, 200))
pygame.display.set_caption('写文字') #加载字体 #写字 #显示文字 pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()

建一个名为images的文件夹,下载一种字体,复制进文件夹,本文字体名称为 font01.ttf

2.加载字体

加载字体使用的方法为pygame.font.Font(a,b),参数为需要加载的字体,参数b为字体大小

可在导入的代码中“#加载字体”下面写下如下代码:

font01 = pygame.font.Font("images/font01.ttf",100)

"images/font01.ttf"为需要加载的字体位置,100是字体的大小

3.写字

假如我要写“明天是世界末日”这几个字,需要使用写字的方法:render(a,b,c),一共有三个参数,a表示的是要写的字,b有两个值(要么True,要么False,如果是True字写出来比较光滑,是False的话字写出来边缘会呈现锯齿,像牙齿咬合面一样不平),  c表示的是RGB颜色。

RGB颜色,R表示的是red(红色),G表示的是green(绿色),B表示的是blue(蓝色),计算机所有的颜色都是由这三种颜色组成。它们的值从0-255不等,数值越大代表这种颜色越亮,例如(255,0,0)就表示红色最大,绿色跟蓝色都没有,显示的自然是红色,同样的,如果是(0,255,0)则代表是绿色。如果是(255,255,0)呢?就是两种颜色组成的颜色了,至于是什么颜色,稍后学会后,大家可以试试。

假设我们现在要写“明天是世界末日!”这几个字该怎么写呢?

“#写字”下面写上下面代码:

surface1 =  font01.render("明天是世界末日!", True, (255,0,0))

表示的是写“明天是世界末日!”这几个字,并且边缘光滑,颜色为红色。

但是小伙伴们会发现一个问题,运行后并没有出现这几个字啊,明天不是世界末日就不显示了嘛?当然不是啦,那是因为我们还没让它展现自我。

4.显示文字

还是用我们上节课所学内容blit()方法,这里是把文字转换成了图片,如果忘了怎么使用的小伙伴需要再重新复习第一课哦!

完整代码如下:

import pygame
import sys
pygame.init() screen = pygame.display.set_mode((1200, 600))
screen.fill((200, 200, 200))
pygame.display.set_caption('合金弹头') #加载字体
font01 = pygame.font.Font("images/font01.ttf", 100)
#写字
surface1 = font01.render("明天是世界末日!", True, (255,0,0))
#显示文字
screen.blit(surface1, (200, 100)) pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()

如果明天是世界末日,你会做些什么呢?关注WX公众号:noip-edu,来跟我聊聊吧!

少儿编程:python趣味编程第二课,如何在pygame中写文字的更多相关文章

  1. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

  2. 少儿编程:python趣味编程第一课

    本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的 大家好,我是C大叔,从事少儿编程行业三年有余(2016年从事少儿编程行业,少儿编程 ...

  3. Python学习,第二课 - 字符编码

    关于字符编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Inte ...

  4. Python学习笔记 第二课 循环

    >>> movies=["The Holy Grail", 1975, "The Life of Brian", 1979, "Th ...

  5. python,使用百度api实现复制截图中的文字

    百度云文字识别技术文档: 跳转 第三方模块安装: pip install baidu-aip pip install Pillow pip install keyboard pip install p ...

  6. 吴裕雄--天生自然python学习笔记:python文档操作批量替换 Word 文件中的文字

    我们经常会遇到在不同的 Word 文件中的需要做相同的文字替换,若是一个一个 文件操作,会花费大量时间 . 本节案例可以找出指定目录中的所有 Word 文件(包含 子目录),并对每一个文件进行指定的文 ...

  7. 【python游戏编程之旅】第九篇---嗷大喵快跑小游戏开发实例

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 前几期博客我们一起学习了,pygame中的冲突检测技术以及一些常用的数据结构. 这次我们来一起做一个简单的酷 ...

  8. 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...

  9. 【python游戏编程之旅】第三篇---pygame事件与设备轮询

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame中的IO.数据http://www.cnblogs.com/msxh/ ...

随机推荐

  1. demo项目开发(Python+flask+mysql+redis只包含后端接口)

    [demo项目开发需求] 用户信息管理,可以注册.登录.添加用户.删除用户 注册:任何用户可以注册,对用户提交的注册信息进行校验,返回对应的信息,其中: 用户名:必填,唯一 密码:必填,只能6-12位 ...

  2. Beta冲刺<9/10>

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺--第九天(05.27) 作业正文 如下 其他参考文献 ... B ...

  3. 利用c++中的设计灵感,既要学BIM分类信息表,借助GIS完成环境搭建改善

    我,一个平平无奇的城市规划专业(建筑专业.路桥专业)大学生,还有一年要毕业,很担心工作以后受到社会的毒打,遂问导师和学长,我要自学点什么技能和软件? 学长A:CAD,SketchUp,PS我都很熟练了 ...

  4. Java闭包概念

    闭包又称词法闭包 闭包最早定义为一种包含<环境成分>和<控制成分>的实体. 解释一:闭包是引用了自由变量的函数,这个被引用的变量将和这个函数一同存在. 解释二:闭包是函数和相关 ...

  5. 黎活明8天快速掌握android视频教程--15_采用Pull解析器解析和生成XML内容

    1.该项目主要有下面的两个作用 (1)将xml文件解析成对象的List对象,xml文件可以来自手机本地,也可以来自服务器返回的xml数据 (2)强list对象保存成xml文件,xml保存到手机的内存卡 ...

  6. Java并发编程:Callable、Future和FutureTask 实现龟兔赛跑

    1.不清楚的看博客http://www.cnblogs.com/dolphin0520/p/3949310.html 我们使用上面的代码来实现一个龟兔赛跑 package com.weiyuan.te ...

  7. php - 如何解决CURL错误( 7 ): 无法连接到主机?

    php - 如何解决CURL错误( 7 ): 无法连接到主机? 1. 问题描述 调用第三方接口,本地调用一切ok,线上调用失败! 本地通过curLRequest()方法调用第三方接口时,curl_er ...

  8. 面试官:你刚说你喜欢研究新技术,那么请说说你对 Blazor 的了解

    阅读本文大概需要 1.5 分钟. 最近在几个微信 .NET 交流群里大家讨论比较频繁的话题就是这几天自己的面试经历. 面试官:"你刚说你喜欢研究新技术,那么你对 Blazor 了解多少?&q ...

  9. Spring Aware介绍

    读完这篇文章你将会收获到 Aware 的使用和介绍 BeanFactoryAware 的触发时机 ApplicationContextAware 的触发时机以及它通过扩展 BeanPostProces ...

  10. windows挂载nas存储

    操作系统:windows server 2016 1.安装nfs客户端打开程序面板 2.点击下一步 3.点击下一步 4.下一步 5.这里只选择文件和存储服务器就可以 6.选择nfs客户端,安装 7.m ...