使用 Python 中的 Arcade 库绘制三角形


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,   # x, y coordinate of point A
        220, 180,   # x, y coordinate of point B
        420, 180,   # x, y coordinate of point C
        arcade.color.ROYAL_BLUE    
    )
    arcade.finish_render()
    arcade.run()
draw_triangle() 

输出

绘制空心三角形

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

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

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

注意:要绘制完美的对象,您必须牢记传递给函数的坐标,因为坐标在调整对象的位置方面起着重要作用。

示例

import arcade

WIDTH = 640
HEIGHT = 480
TITLE = "Triangle Example"
arcade.open_window(WIDTH, HEIGHT, TITLE)
arcade.set_background_color(arcade.color.WHITE)
arcade.start_render()
# Create a ShapeElementList object
triangle_list = arcade.ShapeElementList()

# Add three line segments to the list to create a triangle
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))
# Draw the ShapeElementList object
triangle_list.draw()

arcade.finish_render()
arcade.run()

输出

示例

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

import arcade
WIDTH = 640
HEIGHT = 480
TITLE = "Two Triangles Example"
arcade.open_window(WIDTH, HEIGHT, TITLE)
arcade.set_background_color(arcade.color.WHITE)
arcade.start_render()

# Draw the first triangle
arcade.draw_triangle_outline(
    320, 100,    # Vertex 1 (x, y)
    200, 300,    # Vertex 2 (x, y)
    440, 300,    # Vertex 3 (x, y)
    arcade.color.PURPLE    
)
# Draw the second triangle
arcade.draw_triangle_outline(
    200, 100,    # Vertex 1 (x, y)
    80, 300,     # Vertex 2 (x, y)
    320, 300,    # Vertex 3 (x, y)
    arcade.color.VIVID_BURGUNDY
)
arcade.finish_render()
arcade.run()

输出

使用 Arcade 库绘制其他形状

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

要使用此类——

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

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

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

局限性

但是 Arcade 库也有一些局限性。

  • 它不具备支持 3D 图形的特性,仅限于 2D 图形。

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

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

结论

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

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

更新于: 2023年10月11日

198 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告