《Python和Pygame游戏开发指南》——2.11 颜色的透明度

2.11 颜色的透明度

当你通过一个带有红色色调的玻璃窗口看过去,其背后的所有颜色都会增加一个红色的阴影。你可以通过给颜色值添加第4个0~255的整数值来模仿这种效果。这个值叫作alpha值(alpha value)。这是表示一种颜色有多么不透明的一个度量值。通常,当你在一个Surface对象上绘制一个像素的时候,新的颜色完全替代了那里已经存在的任何颜色。但是,使用带有一个alpha值的颜色,可以只是给已经存在的颜色之上添加一个带有颜色的色调。

例如,表示绿色的3个整数值的一个元组是(0, 255, 0)。但是,如果添加了第4个整数作为alpha值,我们可以使其成为一个半透明的绿色(0, 255, 0, 128)。255的alpha值是完全不透明的(也就是说,根本没有透明度)。颜色(0, 255, 0)和(0, 255, 0, 255)看上去完全相同。alpha值为0,表示该颜色是完全透明的。如果将alpha值为0的任何一个颜色绘制到一个Surface对象上,它没有任何效果,因为这个颜色完全是透明的,且不可见。

为了使用透明颜色来进行绘制,必须使用convert_alpha()方法创建一个Surface对象。例如,如下代码创建了一个可以在其上绘制透明颜色的Surface对象。

一旦在该Surface对象上绘制的内容存储到了anotherSurface中,随后another Surface可以“复制”(blit,也就是copy)到DISPLAYSURF中,以便它可以显示在屏幕上(参见本章稍后的2.19节)。在那些并非从一个convert_alpha()返回的Surface对象上,你不能够使用透明颜色,这也包括从pygame.display. set_mode()返回的显示Surface,注意这一点是很重要的。

如果我们创建了一个颜色元组来绘制著名的隐形粉红独角兽,应该会使用(255, 192, 192, 0),它最终看上去是完全不可见的,就像是alpha值为0的任何其他颜色一样。毕竟,它是隐形的。图2-5是绘制隐形粉红独角兽的屏幕截图。

时间: 2024-11-13 04:14:31

《Python和Pygame游戏开发指南》——2.11 颜色的透明度的相关文章

《Python和Pygame游戏开发指南》——导读

前 言 你好!本书将教你如何使用Python语言和Pygame框架(也叫作Pygame库)来开发图形化的计算机游戏.Pygame使得开发2D图形程序变得很容易.Python和Pygame框架都可以从http://python.org和http://pygame.org 免费下载.你只需要有计算机和这本书,就可以开始开发自己的游戏了. 本书是一本中级编程图书.如果你完全是初次接触编程,你可能需要努力阅读源代码示例并搞清楚程序如何工作.然而,如果你此前学习过如何使用Python编程,这将会容易一些.

《Python和Pygame游戏开发指南》——1.7 安装Pygame

1.7 安装Pygame Pygame不是Python所附带的.和Python一样,Pygame也是可以免费使用的.你必须下载并安装Pygame,这与下载和安装Python解释器一样容易.在Web浏览器中,访问http://pygame.org 并且在该Web站点左边的"Downloads"上点击.本书假设你使用的是Windows操作系统,但是Pygame在每种操作系统上的工作方式都是相同的.你需要针对自己的操作系统以及所安装的Python版本,下载相应的Pygame安装程序. 你不需

《Python和Pygame游戏开发指南》——1.6 启动Python

1.6 启动Python 我们将使用IDLE软件来输入程序并运行它.IDLE英文全称为Interactive DeveLopment Environment,中文含义为交互式开发环境.这个开发环境是使得编写Python程序更为容易的一个软件,就像是字处理器软件使得写书很容易一样.如果你的操作系统是Windows XP,你应该能够通过点击Start按钮,然后选择Programs,Python 3.1,IDLE(Python GUI)来运行Python.对于Windows Vista或Window

《Python和Pygame游戏开发指南》——第1章 安装Python和Pygame 1.1 预备知识

第1章 安装Python和Pygame 1.1 预备知识 如果在阅读本书之前,你了解一点Python编程的话(或者知道如何使用Python以外的另一种语言编程),可能会有所帮助.然而,即便你还不了解,仍然可以阅读本书.编程并不像人们所想象得那么难.如果你遇到一些困难,可以读我的另一本书<Invent Your Own Computer Games with Python>,查找令你感到混淆的某一个主题. 在阅读本书之前,你不需要知道如何使用Pygame库.本书第2章是介绍Pygame的主要功能

《Python和Pygame游戏开发指南》——1.11 行号和空格

1.11 行号和空格 当你自己编写代码的时候,不要输入在每一行开头处出现的行号.例如,如果你在本书中看到如下代码: 不需要输入左边的"1"以及紧接其后的空格.只要输入如下内容就可以了. 这些编号只是为了便于在书中引用特定的代码行.它们并非实际程序的一部分. 除了行号之外,确保按照代码的样子进行输入.注意,其中一些代码行从页面的最左端开始,但是却缩进了4个或8个空格.确保在每一行的开始处放置合适数目的空格(因为IDLE中的每个字符具有相同的宽度,你可以通过统计所看到的代码行之上或之下的字

《Python和Pygame游戏开发指南》——2.2 使用Pygame的Hello World程序源代码

2.2 使用Pygame的Hello World程序源代码 我们用Pygame开发的第一个程序,是在屏幕上显示一个带有"Hello World"的窗口的小程序.通过点击IDLE的File菜单,然后选择New Window,打开一个新的文件编辑器.在IDLE的文件编辑器中,输入如下的代码并将其保存为blankpygame.py .然后,按下F5键或者从文件编辑器顶部的菜单选择Run > Run Module,运行该程序. 记住,不要输入每一行开始处的行号和句点(那些只是为了方便在本

《Python和Pygame游戏开发指南》——第2章 Pygame基础知识 2.1 GUI vs. CLI

第2章 Pygame基础知识 Python带有诸如random.math或time这样的几个模块,它们为程序提供额外的功能,同样,Pygame框架也包含了几个模块,其功能包括绘制图形.播放声音.处理鼠标输入等. 本章将介绍Pygame所提供的基本模块和功能,并且假设你已经了解Python编程的基础知识.如果你对理解一些编程概念感到困难,可以阅读我的<Invent Your Own Computer Games with Python>一书,这本书的目标读者是程序设计的完全初学者. <In

《Python和Pygame游戏开发指南》——2.23 本章小结

2.23 本章小结 本章介绍了使用Pygame框架编写图形化游戏的基础知识.当然,只是了解这些函数,可能并不足以帮助你学习如何使用这些函数来编写游戏.本书中其他的各章,每一章都关注一个较小的.完整的游戏的源代码.这会帮助你认识到完整的游戏程序看上去是什么样的,以便随后你可以对如何编写自己的游戏程序有更多的思路. 和<Invent Your Own Computer Games with Python>一书不同,本书假设你了解基本的Python编程.如果你想不起来变量.函数.循环.if-else

《Python和Pygame游戏开发指南》——1.4   Mac OS X上的安装说明

1.4 Mac OS X上的安装说明 Mac OS X 10.5带有Apple预安装的Python 2.5.1.在编写本书的时候,Pygame只支持Python 2,而不支持Python 3.然而,本书中的程序在Python 2和Python 3下都能工作. Python Web站点还有一些关于在Mac上使用Python的额外信息:http://docs.python.org/dev/using/mac.html.