绘图-批次#

arcade.Shape#

class arcade.Shape[源代码]#

原始绘制形状。这可以是ShapeElementList的一部分,因此可以更快地批量绘制形状。

draw()[源代码]#

画出这个形状。这种绘制方式不如在ShapeElementList中批量绘制多个形状的速度快。

arcade.ShapeElementList#

class arcade.ShapeElementList[源代码]#

程序可以将多个绘制基元放在ShapeElementList中,然后将它们作为一个整体进行移动和绘制。当您想要使用更简单的基元创建更复杂的对象时,请执行此操作。这也加快了渲染速度,因为所有对象都是在一个操作中绘制的。

property angle: float#

以度为单位获取ShapeElementList的角度。

append(item: arcade.buffered_draw_commands.TShape)[源代码]#

将新形状添加到列表中。

property center_x: float#

获取ShapeElementList的中心x坐标。

property center_y: float#

获取ShapeElementList的中心y坐标。

draw()[源代码]#

把清单上的所有东西都画出来。

move(change_x: float, change_y: float)[源代码]#

移动列表中的所有形状:param change_x:沿x轴移动的量:param change_y:沿y轴移动的量

remove(item: arcade.buffered_draw_commands.TShape)[源代码]#

从列表中删除特定形状。

arcade.create_ellipse#

arcade.create_ellipse(center_x: float, center_y: float, width: float, height: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], border_width: float = 1, tilt_angle: float = 0, num_segments: int = 32, filled=True) arcade.buffered_draw_commands.Shape[源代码]#

这将创建一个椭圆顶点缓冲区对象(VBO)。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

arcade.create_ellipse_filled#

arcade.create_ellipse_filled(center_x: float, center_y: float, width: float, height: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], tilt_angle: float = 0, num_segments: int = 128) arcade.buffered_draw_commands.Shape[源代码]#

创建一个实心椭圆。或者,如果您使用相同的宽度和高度,请将其圈起来。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

arcade.create_ellipse_filled_with_colors#

arcade.create_ellipse_filled_with_colors(center_x: float, center_y: float, width: float, height: float, outside_color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], inside_color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], tilt_angle: float = 0, num_segments: int = 32) arcade.buffered_draw_commands.Shape[源代码]#

绘制一个椭圆,并指定内部/外部颜色。用于进行渐变。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

参数
  • center_x (float) --

  • center_y (float) --

  • width (float) --

  • height (float) --

  • outside_color (Color) --

  • inside_color (float) --

  • tilt_angle (float) --

  • num_segments (int) --

返回形状

arcade.create_ellipse_outline#

arcade.create_ellipse_outline(center_x: float, center_y: float, width: float, height: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], border_width: float = 1, tilt_angle: float = 0, num_segments: int = 128) arcade.buffered_draw_commands.Shape[源代码]#

创建椭圆的轮廓。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

arcade.create_line#

arcade.create_line(start_x: float, start_y: float, end_x: float, end_y: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], line_width: float = 1) arcade.buffered_draw_commands.Shape[源代码]#

创建一条稍后要渲染的线条。这比DRAW_LINE更快,因为顶点只加载到图形卡一次,而不是每一帧。

参数
返回形状

arcade.create_line_generic#

arcade.create_line_generic(point_list: Sequence[Union[Tuple[float, float], List[float]]], color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], shape_mode: int, line_width: float = 1) arcade.buffered_draw_commands.Shape[源代码]#

此函数由使用 create_line_stripcreate_line_loop ,只需更改线条绘制的OpenGL类型。

arcade.create_line_generic_with_colors#

arcade.create_line_generic_with_colors(point_list: Sequence[Union[Tuple[float, float], List[float]]], color_list: Iterable[Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]], shape_mode: int, line_width: float = 1) arcade.buffered_draw_commands.Shape[源代码]#

此函数由使用 create_line_stripcreate_line_loop ,只需更改线条绘制的OpenGL类型。

参数
  • point_list (PointList) --

  • color_list (Iterable[Color]) --

  • shape_mode (float) --

  • line_width (float) --

返回形状

arcade.create_line_loop#

arcade.create_line_loop(point_list: Sequence[Union[Tuple[float, float], List[float]]], color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], line_width: float = 1)[源代码]#

创建要在稍后渲染的多点线循环。这比DRAW_LINE更快,因为顶点只加载到图形卡一次,而不是每一帧。

参数
  • point_list (PointList) --

  • color (Color) --

  • line_width (float) --

返回形状

arcade.create_line_strip#

arcade.create_line_strip(point_list: Sequence[Union[Tuple[float, float], List[float]]], color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], line_width: float = 1)[源代码]#

创建稍后要渲染的多点直线。这比DRAW_LINE更快,因为顶点只加载到图形卡一次,而不是每一帧。

在内部,粗线由两个三角形创建。

参数
  • point_list (PointList) --

  • color (Color) --

  • line_width (PointList) --

返回形状

arcade.create_lines#

arcade.create_lines(point_list: Sequence[Union[Tuple[float, float], List[float]]], color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], line_width: float = 1)[源代码]#

创建要在稍后渲染的多点线循环。这比DRAW_LINE更快,因为顶点只加载到图形卡一次,而不是每一帧。

参数
  • point_list (PointList) --

  • color (Color) --

  • line_width (float) --

返回形状

arcade.create_lines_with_colors#

arcade.create_lines_with_colors(point_list: Sequence[Union[Tuple[float, float], List[float]]], color_list: Sequence[Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]]], line_width: float = 1)[源代码]#

arcade.create_polygon#

arcade.create_polygon(point_list: Sequence[Union[Tuple[float, float], List[float]]], color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]])[源代码]#

绘制一个凸面多边形。这将不会绘制凹面多边形。因此,您可能不想使用此函数。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

参数
  • point_list (PointList) --

  • color --

返回形状

arcade.create_rectangle#

arcade.create_rectangle(center_x: float, center_y: float, width: float, height: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], border_width: float = 1, tilt_angle: float = 0, filled=True) arcade.buffered_draw_commands.Shape[源代码]#

此函数使用顶点缓冲区对象创建矩形。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

参数

arcade.create_rectangle_filled#

arcade.create_rectangle_filled(center_x: float, center_y: float, width: float, height: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], tilt_angle: float = 0) arcade.buffered_draw_commands.Shape[源代码]#

创建填充矩形。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

参数
返回形状

arcade.create_rectangle_filled_with_colors#

arcade.create_rectangle_filled_with_colors(point_list, color_list) arcade.buffered_draw_commands.Shape[源代码]#

此函数使用顶点缓冲区对象创建一个矩形/四边形。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

arcade.create_rectangle_outline#

arcade.create_rectangle_outline(center_x: float, center_y: float, width: float, height: float, color: Union[Tuple[int, int, int], List[int], Tuple[int, int, int, int]], border_width: float = 1, tilt_angle: float = 0) arcade.buffered_draw_commands.Shape[源代码]#

创建一个矩形轮廓。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

参数
  • center_x (float) --

  • center_y (float) --

  • width (float) --

  • height (float) --

  • color (Color) --

  • border_width (Color) --

  • tilt_angle (float) --

返回:形状

arcade.create_rectangles_filled_with_colors#

arcade.create_rectangles_filled_with_colors(point_list, color_list) arcade.buffered_draw_commands.Shape[源代码]#

此函数使用顶点缓冲区对象创建多个矩形/四边形。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

arcade.create_triangles_filled_with_colors#

arcade.create_triangles_filled_with_colors(point_list, color_list) arcade.buffered_draw_commands.Shape[源代码]#

此函数使用顶点缓冲区对象创建多个矩形/四边形。

函数用于返回可使用绘制的Shape对象 my_shape.draw() 。不要在Draw方法中创建形状,而是在Setup方法中创建它,然后将其绘制到 on_draw

为了获得更快的性能,可以将多个形状添加到ShapeElementList中并绘制该列表。这使得几乎可以像绘制一个形状一样快速地绘制无限形状。

arcade.get_rectangle_points#

arcade.get_rectangle_points(center_x: float, center_y: float, width: float, height: float, tilt_angle: float = 0) Sequence[Union[Tuple[float, float], List[float]]][源代码]#

该实用程序函数将返回给定x、y中心、宽度、高度和旋转的矩形的所有四个坐标点。

参数

返回:PointList