`

pygame示例注释二

阅读更多
#!/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教程

    这个示例涉及到了Pygame中一些核心概念,比如窗口创建、图像加载和显示、事件处理等。 #### 7. Pygame图像处理 在Pygame中处理图像时,可以使用`pygame.image`模块来加载和存储图像文件。此外,图像在屏幕上显示...

    烟花代码编程python满屏-Python Pygame实现动态烟花效果的示例代码

    烟花代码编程python满屏--内容概要:本文介绍了一个使用 Python 的 Pygame 库来实现简单动态烟花秀的具体代码示例,通过详细的注释介绍了各部分的功能以及运作方式,主要涉及Pygame的初始化、烟花粒子类的设计、主...

    Pygame 2.5-2.6-3.1.rar

    - Pygame 有一个活跃的社区,提供了很多示例代码、教程和第三方模块,如 Pygame-Subset 提供了对现代 Python 版本的支持,Pygame-Tools 提供了更高级的精灵管理等功能。 7. **进阶话题**: - 考虑到 Pygame 是...

    游戏开发+Pygame+飞机大战+教育编程实践:pygame飞机大战源码和素材(Python版)完整版

    源代码中包括丰富的注释,帮助理解每个模块和函数的作用,以及它们是如何协同工作来创建一个流畅的游戏体验的。 ```python # 示例代码:主游戏循环 import pygame import sys pygame.init() screen = pygame....

    机巧围棋(CleverGo)基于Python+Pygame+PaddlePaddle打造一款点击按

    机巧围棋(CleverGo)基于Python+Pygame+PaddlePaddle打造一款点击按钮_QPT-CleverGo.zip 设计合理: 遵循模块化...注释相近: 统一风格,易于理解。 资料丰富: 包括示例代码、文档和演示。 欢迎下载学习交流!!!!!

    PyGame-Test

    这是我用Python开发的非常简单的pygame测试游戏,由于所有代码都带有注释,因此可以用作示例。 怎么跑 来自来源: 安装python 3.9, 安装pygame( pip install pygame ), 在源文件夹中打开一个终端,然后键入...

    儿童节庆祝代码示例.zip

    2. **动画与游戏编程**:儿童节的代码示例可能涉及到简单的动画效果或小型游戏的实现,如使用Python的pygame库,JavaScript的Canvas API,或者Unity等3D游戏引擎。 3. **事件处理**:为了让用户与程序交互,代码...

    综合-条形图输出主要省份GDP排名情况-Python源码示例.zip

    2. **数据处理**:在示例中,可能涉及到对原始数据的预处理,例如读取CSV或Excel文件,清洗数据,处理缺失值,以及进行必要的计算。Python中的pandas库是处理这些任务的常用工具,它提供了DataFrame数据结构和一系列...

    用Python和Pygame实现代码雨

    在这个示例中,我们可以选择显示数字或者字母的代码雨。通过修改代码中的注释,可以轻松切换这两种模式。`font.render()`方法用于将字符串转化为Surface对象,其中颜色 `(0, 255, 0)` 表示绿色。 为了模拟代码雨...

    python音乐播放器实例有详细注解,适合新手一看就懂.rar

    2. Pygame库介绍:Pygame是基于Python的一个游戏开发库,它包含了许多用于多媒体处理的模块,如音频、图像、事件处理等。在音乐播放器的实现中,`pygame.mixer`模块是关键,它可以加载并播放音频文件。 3. 音频格式...

    Python 来庆祝儿童节的简单示例代码 这个代码将生成一个带有儿童节祝福语的彩色图案,并播放一段儿歌

    第二部分则借助于Pygame的功能为游戏加入了背景音乐播放的功能。通过这两个模块的应用展示了多种常用的操作方法及其具体实现。此外文中还附有详尽的源码及注释说明,使得读者能快速地理解和上手。 该材料适合希望...

    python实现坦克大战游戏 附详细注释.doc

    本文档提供了一个详细的Python实现坦克大战游戏的示例,包括源代码和注释,帮助初学者理解游戏的开发过程。 首先,我们需要导入必要的模块。`pygame`是Python的一个图形库,用于游戏开发;`time`用于处理时间,`...

    五子棋消除部分胜利后图像擦除bug版

    2. 图像处理:在实现棋盘更新功能时,需要确保在棋子连成五子后,能够正确清除或替换获胜棋子的图像,以突出显示胜利状态。 3. 渲染优化:可能是由于绘制棋盘和棋子时的缓存或重绘问题,需要优化图形渲染过程,确保...

    界面并不花哨,新游戏_暂停_退出都设为按钮 应用了快捷键功能 可以关闭开启声音

    6. **附加资源**:随软件提供的.txt文件可能包含使用指南或开发者的注释,而.url文件提供了更多免费资源的链接,扩展了用户的使用体验。 这些知识点展示了从界面设计到程序开发的全面考量,以及开发者对用户体验的...

    实现简易动画.zip

    在压缩包中的代码示例很可能展示了如何定义和组织这些元素,通过清晰的注释帮助读者理解每一部分的作用。学习和理解这个示例将有助于初学者掌握基本的动画制作技巧,为进一步的动画项目打下基础。 总的来说,"实现...

    ics2o-cpt-2021-Tylerguo23:GitHub教室创建的ics2o-cpt-2021-Tylerguo23

    这些文件可能包括Python脚本、图像、音频文件,甚至可能是注释丰富的示例代码,帮助学习者理解如何组织和实现一个完整的Pygame项目。 学习Pygame不仅可以提高编程技能,还可以培养逻辑思维和问题解决能力,对于初次...

    游戏的时间进度条.zip

    1. **图形用户界面(GUI)库**:代码可能依赖于特定的GUI库(如Unity中的Unity UI,Pygame,或者Qt等),来创建和管理界面元素,包括进度条。 2. **时间和动画**:为了更新进度条,开发者会使用游戏循环或者定时器...

    游戏对白窗口.zip

    在游戏开发中,通常使用各种图形库或引擎如Unity、Unreal Engine、pygame等来构建这种窗口。这些库提供了丰富的API和工具,帮助开发者创建出具有专业外观和交互性的游戏界面。 游戏对白窗口的设计主要包括以下几个...

Global site tag (gtag.js) - Google Analytics