使用 Python 中的 Arcade 库绘制树


Python 是一种现代编程语言。它拥有广泛的功能,例如丰富的库、简单的语法等,使其在 Web 开发、数据科学等不同领域越来越受欢迎。在本文中,我们将使用 Python 的一个库 Arcade。这个库将帮助我们使用不同的结构构建一棵树。

什么是 Arcade 库?

Arcade 库是为游戏和其他图形应用程序创建更吸引人的图形而开发的。由于选择较少,因此出现了不同的库,并成为一个现代的 Python 模块。

该库提供了广泛的功能,因为它构建在 Pyglet 之上,Pyglet 是一个多媒体库,为开发人员提供了一个简单的接口来创建各种游戏和其他应用程序。

由于此库是内置库,因此无需安装它。您只需在需要时导入它即可。导入库后,您可以访问其中的函数。

为了绘制不同的形状,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.Sprite、arcade.SpriteList 进行更新等。您还可以使用 arcade.PhysicsEngine、arcade.PhysicsEngineSimple 创建逼真的动作。

为了使您的作品更具交互性,您可以使用 arcade.load_sound、arcade.play_sound 和 arcade.set_sound_volume 向其中添加音频。通过将如此多的属性组合在一起,您可以创建一个有吸引力、有用且有趣的应用程序。

我们已经涵盖了基本主题,现在我们了解了什么是 Arcade 库以及它可以如何使用。让我们使用此库绘制一棵树。

示例

在此代码中,我们首先导入了 Arcade 库。现在您可以使用 Arcade 库中的函数了。

  • 第一个任务是设置您想要绘制对象的窗口。屏幕宽度和屏幕高度的坐标分别为 640 和 480。

  • 为了制作背景,我们使用了 arcade.set_background_color() 函数。在开始绘制之前,我们使用了渲染函数。此函数首先被调用,因为它通过清除先前的内容并设置背景来为下一步准备窗口。类似地,当绘制完成后,您应该调用 Arcade 库的完成渲染函数,即 arcade.finish_render()。

  • 现在,开始绘制,这里我们使用了 arcade.draw_rectangle_filled() 函数来绘制树干,它需要四个参数来完成任务,例如“arcade.draw_rectangle_filled(400, 200, 50, 200, arcade.color.BROWN_NOSE)”。

    这里,400 是第一个参数,即矩形中心的 x 坐标,200 是第二个参数,即矩形中心的 y 坐标,50 是宽度,200 是矩形的高度,最后一个第四个参数是树干的颜色。

  • 我们使用三个圆圈绘制了树叶,这些圆圈由 arcade.draw_circle_filled() 绘制。此函数也需要四个参数,例如“arcade.draw_circle_filled(350, 300, 60, arcade.color.DARK_GREEN)”。这里,350 是圆心处的 x 坐标,300 是 y 坐标,60 是半径,最后一个是第四个参数,表示颜色。最后,使用 arcade.run() 函数运行程序,直到用户停止或关闭窗口。

  • 以类似的方式,您可以绘制不同类型的树,其中树叶可能是三角形或其他不同形状,并且可以应用不同的特征,例如使用三角形函数等绘制树枝。

import arcade
# For setting up the window
window = arcade.open_window(640, 480, "Drawing a Tree using Arcade Library")
# you can set up the background color
arcade.set_background_color(arcade.color.MELLOW_YELLOW)
# render function to be used before drawing starts
arcade.start_render()
# For drawing the trunk of the tree
arcade.draw_rectangle_filled(400, 200, 50,  200, arcade.color.BROWN_NOSE)
# Draw the leaves of the tree
arcade.draw_circle_filled(350, 300, 60, arcade.color.DARK_GREEN)
arcade.draw_circle_filled(400, 350, 60, arcade.color.DARK_GREEN)
arcade.draw_circle_filled(450, 300, 60, arcade.color.DARK_GREEN)

# Finish the render after the diagram completes
arcade.finish_render()
# Keep the window open
arcade.run()

输出

注意:为了绘制完美的物体,您必须牢记提供给函数的坐标,因为坐标在调整物体的位置方面起着重要作用。

结论

在本文中,我们使用 Arcade 库中存在的不同函数创建了一棵树。我们首先导入库,然后为对象设置了一个窗口。代码在文章中得到了充分解释。以类似的方式,您可以探索 Arcade 库的不同函数并绘制不同的 2D 图形。

更新于: 2023年10月11日

219 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告