使用 Python 中的 Arcade 绘制三角形

pythonserver side programmingprogramming

Arcade 库是 Python 的内置库之一。它广泛用于创建各种多媒体对象,可用于制作 2D 游戏和其他需要图形的应用程序。在本文中,我们将使用 Python 中的 Arcade 库完成创建三角形的任务。我们将首先简要介绍 Arcade 库、其功能和用途。

什么是 Arcade 库?

Arcade 库是为了消除 Py.game 模块的限制而开发的,因为它是 Python 游戏程序员使用的唯一模块。这个库能够解决它被创建的目的,即为 2D 游戏开发更逼真的图形。要使用此库下的函数,首先需要导入库,然后创建一个对象将出现的窗口。

对于绘制不同的形状,Arcade 对每个形状都有不同的函数。

  • arcade.draw_circle_filled

  • arcade.draw_rectangle_filled

  • arcade.draw_polygon_filled

  • arcade.draw_line()

  • arcade.draw_point()

  • arcade.draw_triangle_filled()

  • arcade.draw_ellipse()

使用 Arcade 库绘制三角形

示例

在下面的示例中,我们使用 arcade 库的 arcade.draw_triangle_filled() 函数绘制了一个三角形。

  • 我们已经开始通过使用"arcade.open_window()"函数创建一个窗口并向其传递三个参数(屏幕宽度、高度和标题)来编写代码。

  • 接下来,我们设置背景颜色并启动渲染过程。渲染启动后,我们接下来定义要制作的三角形的坐标以及三角形的颜色。

import arcade
SCR_WIDTH = 640
SCR_HEIGHT = 480

def draw_triangle():
    arcade.open_window(SCR_WIDTH, SCR_HEIGHT, "Drawing a Triangle")
    arcade.set_background_color(arcade.color.ANTIQUE_WHITE)
    arcade.start_render()
    arcade.draw_triangle_filled(
        320, 380, # 点 A 的 x, y 坐标
        220, 180, # 点 B 的 x, y 坐标
        420, 180, # 点 C 的 x, y 坐标
        arcade.color.ROYAL_BLUE    
    )
    arcade.finish_render()
    arcade.run()
draw_triangle() 

输出

绘制空心三角形

同样,您可以对要创建的对象进行不同的更改。在此示例中,我们没有填充三角形,相反,我们使用了 arcade.draw_triangle_outline() 函数。

此函数仅绘制三角形的轮廓。您可以向此代码添加图形,使三角形更具吸引力。

还有一种绘制三角形的方法,即使用 arcade.ShapeElementList() 函数。让我们用这个函数写一段代码。

注意:为了绘制一个完美的物体,你必须记住你给函数的坐标,因为坐标在调整物体的位置时起着重要作用。

示例

import arcade

WIDTH = 640
HEIGHT = 480
TITLE = "三角形示例"
arcade.open_window(WIDTH, HEIGHT, TITLE)
arcade.set_background_color(arcade.color.WHITE)
arcade.start_render()
# 创建一个 ShapeElementList 对象
triangle_list = arcade.ShapeElementList()

# 将三条线段添加到列表中以创建一个三角形
triangle_list.append(arcade.create_line(320, 100, 200, 300, arcade.color.BLUE, 3))
triangle_list.append(arcade.create_line(200, 300, 440, 300, arcade.color.BLUE, 3))
triangle_list.append(arcade.create_line(440, 300, 320, 100, arcade.color.BLUE, 3))
# 绘制 ShapeElementList 对象
triangle_list.draw()

arcade.finish_render()
arcade.run()

输出

示例

我们再举一个例子,我们可以画两个三角形。

import arcade
WIDTH = 640
HEIGHT = 480
TITLE = "两个三角形示例"
arcade.open_window(WIDTH, HEIGHT, TITLE)
arcade.set_background_color(arcade.color.WHITE)
arcade.start_render()

# 绘制第一个三角形
arcade.draw_triangle_outline(
    320, 100, # 顶点 1 (x, y)
    200, 300, # 顶点 2 (x, y)
    440, 300, # 顶点 3 (x, y)
    arcade.color.PURPLE
)
# 绘制第二个三角形
arcade.draw_triangle_outline(
    200, 100, # 顶点 1 (x, y)
    80, 300, # 顶点 2 (x, y)
    320, 300, # 顶点 3 (x, y)
    arcade.color.VIVID_BURGUNDY
)
arcade.finish_render()
arcade.run()

输出

使用 Arcade 库的其他形状

arcade.ShapeElementList 类基本上是一个处理要在窗口上绘制的形状元素列表的类。使用此类,您可以通过组合形状来形成复杂对象,从而创建各种形状。

要使用此类—

  • 您需要创建该类的一个实例。

  • 然后使用 append() 方法将形状元素添加到列表中并传递所需的形状。

在前面的 Shape 元素列表对象示例中,我们采用了三条线段来创建三角形。

限制

但 Arcade 库也有一些限制。

  • 它不支持 3D 图形的功能,仅限于 2D 图形。

  • 许多移动网络和 Web 浏览器平台都不支持它,因此在您处理与之相关的任何项目时,它可能会成为一个问题。

  • 因此,这个库在处理较小的项目和初学者学习时更有帮助。

结论

在本文中,我们简要解释了什么是 Arcade 库。我们讨论了在编写使用 Arcade 绘制三角形的代码时使用的函数。给出了三个不同的示例,以便更好地理解在处理代码时应用的概念。

三种不同的方法包括三个不同的函数,即 arcade.draw_triangle_filled()、arcade.draw_triangle_outline 和 arcade.ShapeElementList()。每个函数都以不同的方式绘制三角形。


相关文章


有用资源