#!/usr/bin/env python
#coding=utf-8
"""Here we load a .TTF font file, and display it in
a basic pygame window. It demonstrates several of the
Font object attributes. Nothing exciting in here, but
it makes a great example for basic window, event, and
font management."""
import pygame
from pygame.locals import *
from pygame.compat import unichr_, unicode_
import sys
import locale
if 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):#关闭按钮,按下任意键,按下鼠标
break
if __name__ == '__main__': main()
分享到:
相关推荐
这个示例涉及到了Pygame中一些核心概念,比如窗口创建、图像加载和显示、事件处理等。 #### 7. Pygame图像处理 在Pygame中处理图像时,可以使用`pygame.image`模块来加载和存储图像文件。此外,图像在屏幕上显示...
烟花代码编程python满屏--内容概要:本文介绍了一个使用 Python 的 Pygame 库来实现简单动态烟花秀的具体代码示例,通过详细的注释介绍了各部分的功能以及运作方式,主要涉及Pygame的初始化、烟花粒子类的设计、主...
- Pygame 有一个活跃的社区,提供了很多示例代码、教程和第三方模块,如 Pygame-Subset 提供了对现代 Python 版本的支持,Pygame-Tools 提供了更高级的精灵管理等功能。 7. **进阶话题**: - 考虑到 Pygame 是...
对于初学者来说,边调试代码边阅读和理解代码中的注释和方法,将有助于更好地掌握Pygame的使用和动画制作。 这篇文章将通过一个具体的编程案例,展示如何将Python和Pygame库结合使用,来实现一个富有创意和节日特色...
源代码中包括丰富的注释,帮助理解每个模块和函数的作用,以及它们是如何协同工作来创建一个流畅的游戏体验的。 ```python # 示例代码:主游戏循环 import pygame import sys pygame.init() screen = pygame....
此外,还提供了代码示例和详细的注释便于理解和修改,使读者可以方便地调整音乐文件路径、烟花样式及其他配置。 适合人群:对Python编程有一定了解并对图形化编程感兴趣的学习者、开发者;想要深入了解Pygame库使用...
它不仅包含了游戏开发的完整流程,还包括了实际的代码示例,能够让学习者从基础出发,逐步深入到游戏开发的各个层面。 由于项目的规模和复杂性,学习者可以从简单的图像展示和基本的游戏循环开始,逐步学习如何处理...
项目中的注释也非常注重风格的统一,这意味着代码中的注释是清晰、一致的,这有助于其他开发者或学习者更快地理解和掌握项目的代码结构和逻辑,进而能够更有效地参与到项目中,无论是学习还是进一步的开发。...
这是我用Python开发的非常简单的pygame测试游戏,由于所有代码都带有注释,因此可以用作示例。 怎么跑 来自来源: 安装python 3.9, 安装pygame( pip install pygame ), 在源文件夹中打开一个终端,然后键入...
2. **动画与游戏编程**:儿童节的代码示例可能涉及到简单的动画效果或小型游戏的实现,如使用Python的pygame库,JavaScript的Canvas API,或者Unity等3D游戏引擎。 3. **事件处理**:为了让用户与程序交互,代码...
它不仅仅是一个简单的示例程序,而是覆盖了从游戏初始化、游戏循环、事件处理、碰撞检测到游戏结束的完整流程。这意味着学生不仅能够学习到游戏的基础框架,还能够深入理解游戏运行的各个阶段,以及如何将不同的游戏...
2. **数据处理**:在示例中,可能涉及到对原始数据的预处理,例如读取CSV或Excel文件,清洗数据,处理缺失值,以及进行必要的计算。Python中的pandas库是处理这些任务的常用工具,它提供了DataFrame数据结构和一系列...
在这个示例中,我们可以选择显示数字或者字母的代码雨。通过修改代码中的注释,可以轻松切换这两种模式。`font.render()`方法用于将字符串转化为Surface对象,其中颜色 `(0, 255, 0)` 表示绿色。 为了模拟代码雨...
2. Pygame库介绍:Pygame是基于Python的一个游戏开发库,它包含了许多用于多媒体处理的模块,如音频、图像、事件处理等。在音乐播放器的实现中,`pygame.mixer`模块是关键,它可以加载并播放音频文件。 3. 音频格式...
第二部分则借助于Pygame的功能为游戏加入了背景音乐播放的功能。通过这两个模块的应用展示了多种常用的操作方法及其具体实现。此外文中还附有详尽的源码及注释说明,使得读者能快速地理解和上手。 该材料适合希望...
本文档提供了一个详细的Python实现坦克大战游戏的示例,包括源代码和注释,帮助初学者理解游戏的开发过程。 首先,我们需要导入必要的模块。`pygame`是Python的一个图形库,用于游戏开发;`time`用于处理时间,`...
2. 图像处理:在实现棋盘更新功能时,需要确保在棋子连成五子后,能够正确清除或替换获胜棋子的图像,以突出显示胜利状态。 3. 渲染优化:可能是由于绘制棋盘和棋子时的缓存或重绘问题,需要优化图形渲染过程,确保...
12. 教程和示例:由于涉及到烟花效果的实现,这可能是某种教程或示例代码的一部分,用于指导读者如何使用Pygame库来创建视觉效果。 13. Pygame窗口管理:在初始化Pygame时,设置了窗口的大小和标题,这是创建图形...