类型#

class arcade.types.Color(r: int, g: int, b: int, a: int = 255)[源代码]#

基类:Tuple[int, int, int, int]

A tuple 表示RGBA颜色的子类。

此类提供了有用的实用程序方法和属性。当性能或简洁性很重要时,arcade通常允许您使用普通的 tuple 而是RGBA值。

所有通道都是从0到255的字节值,包括0和255。如果其中任何一个超出此范围,则会引发 ByteRangeError 将被引发,这可以作为 ValueError

示例:

>>> from arcade.types import Color
>>> Color(255, 0, 0)
Color(r=255, g=0, b=0, a=0)

>>> Color(*rgb_green_tuple, 127)
Color(r=0, g=255, b=0, a=127)
参数:
  • r -- 颜色的红色通道,介于0和255之间

  • g -- 颜色的绿色通道,介于0和255之间

  • b -- 颜色的蓝色通道,介于0和255之间

  • a -- 颜色的Alpha或透明度通道,介于0和255之间

classmethod from_gray(brightness: int, a: int = 255) Self[源代码]#

返回给定亮度的灰色阴影。

示例::

>>> custom_white = Color.from_gray(255)
>>> print(custom_white)
Color(r=255, g=255, b=255, a=255)

>>> half_opacity_gray = Color.from_gray(128, 128)
>>> print(half_opacity_gray)
Color(r=128, g=128, b=128, a=128)
参数:
  • brightness -- 树荫应该有多亮

  • a -- 透明度值,默认情况下完全不透明

返回:

classmethod from_hex_string(code: str) Self[源代码]#

使用长度为3、4、6或8个十六进制数字的十六进制代码生成颜色

在它前面加一个英镑符号 (# /散列符号)是可选的。如果存在,它将被忽略。

十六进制数字的大写 ('f' VS 'F' )并不重要。

3位和6位十六进制代码将被视为不透明度为255。

将扩展3位和4位十六进制代码。

示例:

>>> Color.from_hex_string("#ff00ff")
Color(r=255, g=0, b=255, a=255)

>>> Color.from_hex_string("#ff00ff00")
Color(r=255, g=0, b=255, a=0)

>>> Color.from_hex_string("#FFF")
Color(r=255, g=255, b=255, a=255)

>>> Color.from_hex_string("FF0A")
Color(r=255, g=255, b=0, a=170)
classmethod from_iterable(iterable: Iterable[int]) Self[源代码]#

从具有3-4个元素的:Py:Class`Iterable`创建颜色

如果传递的Iterable已经是一个Color实例,它将原封不动地返回。如果迭代量的元素少于3个或多于4个,则将引发ValueError。

否则,该函数将尝试创建一个新的颜色实例。适用通常的规则,即所有值必须介于0和255之间(包括0和255)。

参数:

iterable -- 可解包为3或4个元素的迭代数,每个元素介于0和255之间(包括0和255)。

classmethod from_normalized(color_normalized: Tuple[float, float, float, float]) Self[源代码]#

将规格化(0.0到1.0)通道转换为RGBA颜色

如果输入通道未标准化,则会引发 arcade.utils.NormalizedRangeError 将会被唤醒。这是:Py:Class`ValueError`的子类,可以这样处理。

示例:

>>> Color.from_normalized((1.0, 0.0, 0.0, 1.0))
Color(r=255, g=0, b=0, a=255)

>>> normalized_half_opacity_green = (0.0, 1.0, 0.0, 0.5)
>>> Color.from_normalized(normalized_half_opacity_green)
Color(r=0, g=255, b=0, a=127)
参数:

color_normalized -- 归一化(从0.0到1.0)RGBA值的颜色。

返回:

classmethod from_uint24(color: int, a: int = 255) Self[源代码]#

从无符号3字节(24位)整数返回颜色。

这些整数可以介于0和16777215之间 (0xFFFFFF ),包括在内。

示例::

>>> Color.from_uint24(16777215)
Color(r=255, g=255, b=255, a=255)

>>> Color.from_uint24(0xFF0000)
Color(r=255, g=0, b=0, a=255)
参数:
  • color -- 介于0和16777215之间的3字节整数 (0xFFFFFF )

  • a -- 一个介于0和255之间(包括0和255)的Alpha值。

classmethod from_uint32(color: int) Self[源代码]#

返回给定无符号4字节(32位)整数的颜色元组

字节被解释为R、G、B、A。

示例:

>>> Color.from_uint32(4294967295)
Color(r=255, g=255, b=255, a=255)

>>> Color.from_uint32(0xFF0000FF)
Color(r=255, g=0, b=0, a=255)
参数:

color -- 介于0和4294967295之间的整数 (0xFFFFFFFF )

classmethod random(r: int | None = None, g: int | None = None, b: int | None = None, a: int | None = None) Self[源代码]#

返回随机颜色。

这些参数是可选的,可用于固定特定通道的值。如果通道不是固定的,它将被随机生成。

示例:

# Randomize all channels
>>> Color.random()
Color(r=35, g=145, b=4, a=200)

# Random color with fixed alpha
>>> Color.random(a=255)
Color(r=25, g=99, b=234, a=255)
参数:
  • r -- 红色通道的固定值

  • g -- 绿色通道的固定值

  • b -- 蓝色通道的固定值

  • a -- Alpha通道的固定值

swizzle(swizzle_string: str) Tuple[int, ...][源代码]#

以与传递的字符串相同的顺序获取通道值的元组。

这是在模仿嗡嗡声 as implemented in GLSL

>>> from arcade.types import Color
>>> color = Color(180, 90, 0, 255)
>>> color.swizzle("abgr")
(255, 0, 90, 180)

您还可以使用任意长度的swizzle字符串和大写字母。任何大写字母都将被视为小写的等价物。

参数:

swizzle_string -- 中以字母形式表示的频道名称字符串 "RGBArgba"

返回:

与输入字符串顺序相同的元组。

a#
b#
g#
normalized#

将此颜色作为4个规格化浮点数的元组返回。

示例:

>>> arcade.color.WHITE.normalized
(1.0, 1.0, 1.0, 1.0)

>>> arcade.color.BLACK.normalized
(0.0, 0.0, 0.0, 1.0)

>>> arcade.color.TRANSPARENT_BLACK.normalized
(0.0, 0.0, 0.0, 0.0)
r#
class arcade.types.TiledObject(shape, properties, name, type)[源代码]#

基类:NamedTuple

🧙 repr(self)#

返回格式良好的表示字符串

name: str | None#

字段号2的别名

properties: Dict[str, float | Path | str | bool | Color] | None#

字段号%1的别名

shape: Tuple[float, float] | Sequence[Tuple[float, float]] | Tuple[int, int, int, int] | List[int]#

字段号0的别名

type: str | None#

第3号字段的别名