几何图形支持#

arcade.EasingData#

class arcade.EasingData(start_period: float, cur_period: float, end_period: float, start_value: float, end_value: float, ease_function: Callable)[源代码]#

用于保存有关放松的信息的数据类。

arcade.ease_angle#

arcade.ease_angle(start_angle, end_angle, *, time=None, rate=None, ease_function=<function linear>)[源代码]#

为角度设置缓动。

arcade.ease_angle_update#

arcade.ease_angle_update(easing_data: arcade.easing.EasingData, delta_time: float) Tuple[源代码]#

更新角度缓动。

arcade.ease_in#

arcade.ease_in(percent: float) float[源代码]#

用于二次放松的函数。

arcade.ease_in_back#

arcade.ease_in_back(percent: float) float[源代码]#

用于缓入缓动的函数,它在向前移动之前向后移动。

arcade.ease_in_out#

arcade.ease_in_out(percent: float) float[源代码]#

二次缓进缓出功能。

arcade.ease_in_out_sin#

arcade.ease_in_out_sin(percent: float) float[源代码]#

使用正弦波缓入缓出的功能

arcade.ease_in_sin#

arcade.ease_in_sin(percent: float) float[源代码]#

使用正弦波进行缓入缓动的函数

arcade.ease_out#

arcade.ease_out(percent: float) float[源代码]#

用于二次放松的函数。

arcade.ease_out_back#

arcade.ease_out_back(percent: float) float[源代码]#

用于缓出缓动的函数,该函数在向前移动之前向后移动。

arcade.ease_out_bounce#

arcade.ease_out_bounce(percent: float) float[源代码]#

用于弹性放松的函数。

arcade.ease_out_elastic#

arcade.ease_out_elastic(percent: float) float[源代码]#

弹性缓释功能。

arcade.ease_out_sin#

arcade.ease_out_sin(percent: float) float[源代码]#

使用正弦波缓出缓动的函数

arcade.ease_position#

arcade.ease_position(start_position, end_position, *, time=None, rate=None, ease_function=<function linear>)[源代码]#

找到一个放松的位置

arcade.ease_update#

arcade.ease_update(easing_data: arcade.easing.EasingData, delta_time: float) Tuple[源代码]#

更新两个值之间的缓动/

arcade.ease_value#

arcade.ease_value(start_value, end_value, *, time=None, rate=None, ease_function=<function linear>)[源代码]#

获得宽松的价值

arcade.easing#

arcade.easing(percent: float, easing_data: arcade.easing.EasingData) float[源代码]#

用于计算缓和的返回值的函数,给定的百分比和缓和数据。

arcade.linear#

arcade.linear(percent: float) float[源代码]#

用于线性缓动的函数。

arcade.smoothstep#

arcade.smoothstep(percent: float) float[源代码]#

平滑步长缓动功能。

arcade.earclip#

arcade.earclip(polygon: Sequence[Union[Tuple[float, float], List[float]]]) List[Tuple[Tuple[float, float], Tuple[float, float], Tuple[float, float]]][源代码]#

对于给定的多边形,简单的耳部裁剪算法。多边形应该是由多边形笛卡尔点数组组成的数组。对于n个点的多边形,它将返回n-2个三角形。三角形作为三元组的数组返回,其中元组中的每一项都是笛卡儿点的二元组。

实施参考:

arcade.are_polygons_intersecting#

arcade.are_polygons_intersecting(poly_a: Sequence[Union[Tuple[float, float], List[float]]], poly_b: Sequence[Union[Tuple[float, float], List[float]]]) bool[源代码]#

如果两个多边形相交,则返回True。

参数
  • poly_a (PointList) -- 定义第一个多边形的点的列表。

  • poly_b (PointList) -- 定义第二个多边形的点的列表。

退货

TRUE或FALSE取决于面是否相交

Rtype bool

arcade.is_point_in_polygon#

arcade.is_point_in_polygon(x, y, polygon_point_list)[源代码]#

使用光线跟踪查看点是否位于多边形内部

参数:

X:Y:多边形点列表:

退货:布尔

arcade.calculate_hit_box_points_detailed#

arcade.calculate_hit_box_points_detailed(image: PIL.Image.Image, hit_box_detail: float = 4.5) Union[List[Union[Tuple[float, float], List[float]]], Tuple[Union[Tuple[float, float], List[float]], ...]][源代码]#

在给定RGBA图像的情况下,该函数返回组成其周围的命中框的点。尝试修剪掉透明像素。

参数
  • image (Image) -- 图像被击中的盒子来自。

  • hit_box_detail (int) -- 打击盒的制作是多么细致啊。在点数和精确度之间存在权衡。

退货

点数列表

arcade.calculate_hit_box_points_simple#

arcade.calculate_hit_box_points_simple(image: PIL.Image.Image) Union[Tuple[Union[Tuple[float, float], List[float]]], List][源代码]#

在给定RGBA图像的情况下,该函数返回组成其周围的命中框的点。尝试修剪掉透明像素。

参数

image (Image) --

退货

点数列表

arcade.clamp#

arcade.clamp(a, low, high)[源代码]#

在一个范围内夹住一个数字。

arcade.get_angle_degrees#

arcade.get_angle_degrees(x1: float, y1: float, x2: float, y2: float) float[源代码]#

获取两点之间的角度(以度为单位)。

参数
  • x1 (float) -- 第一个点的X坐标

  • y1 (float) -- 第一个点的Y坐标

  • x2 (float) -- 第二个点的X坐标

  • y2 (float) -- 第二个点的Y坐标

arcade.get_angle_radians#

arcade.get_angle_radians(x1: float, y1: float, x2: float, y2: float) float[源代码]#

获取两点之间的角度(以弧度为单位)。

参数
  • x1 (float) -- 第一个点的X坐标

  • y1 (float) -- 第一个点的Y坐标

  • x2 (float) -- 第二个点的X坐标

  • y2 (float) -- 第二个点的Y坐标

arcade.get_distance#

arcade.get_distance(x1: float, y1: float, x2: float, y2: float)[源代码]#

求出两点之间的距离。

arcade.rotate_point#

arcade.rotate_point(x: float, y: float, cx: float, cy: float, angle_degrees: float) List[float][源代码]#

绕中心旋转点。

参数
  • x -- 要旋转的点的X值

  • y -- 要旋转的点的Y值

  • cx -- 要绕其旋转的中心点的X值

  • cy -- 要绕其旋转的中心点的Y值

  • angle_degrees -- 旋转的角度,以度为单位

返回

返回旋转的(x,y)对

返回类型

(float, float)