这里摘抄官方文档,对比下Pygame库Arcade有哪些优缺点:
前言
Arcade库相对于Pygame库的优缺点
优点:
- 更快地绘制静止状态的精灵。
- 支持Python 3类型标注。
- 粗的椭圆,弧和圆没有莫尔纹。
- 椭圆,圆弧和其他形状可以轻松旋转。
- 使用您在数学中学到的标准坐标系。
- 具有针对平台游戏的内置物理引擎Pymunk。
- 支持动画精灵。
- 命令的API文档更好。
- 命令名称是一致的。例如,要添加到sprite列表,请使用该
append()
方法,就像Python中的其他列表一样。 - 参数和命令名称更加清晰。例如,用open_window代替set_mode。
- 比Pygame少的样板代码。
- 基本绘图不需要有关如何定义函数或类或如何执行循环的知识。
- 鼓励逻辑和显示代码分开。
- 在OpenGL 3+和Pyglet之上运行,而不是旧的SDL1库。
- 通过使用子画面列表,可以使用图形卡的加速来提高性能。
- 轻松缩放和旋转精灵和图形。
- 默认情况下,具有透明度的图像是透明的。无需额外的代码。
- 许多方法示例代码。
缺点:
- 移动精灵较为缓慢。
- Python 2不支持支持。
- 需要OpenGL,因此不适用于Raspberry Pi。
- 更不好地支持屏幕上未显示的内存缓冲区中的像素操作。
安装
Arcade可在Windows,Mac OS X和Linux上运行,Arcade需要Python 3.6或更高版本。它不能在Python 2.x上运行。可以Windows系统、Linux系统、Mac系统下使用,那么可以选择适合您平台的说明:
Python安装
这里是在Windows平台下进行使用,所以对应下载Python
![](https://img-blog.csdnimg.cn/20210126211502646.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
双击打开下载文件开始安装。
![](https://img-blog.csdnimg.cn/20210126211957217.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
同时按住键盘上Windows键加字幕R键弹出运行界面输入cmd运行命令行窗口验证Python运行环境是否安装成功。
![](https://img-blog.csdnimg.cn/20210126212806965.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210126212840131.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
这里为了在开发过程中安装各种库时不影响Python运行环境采用Python虚拟环境,接下来安装虚拟环境 ,我们先安装最基础的包virtualenv,打开windows命令终端(cmd)安装虚拟环境 virtualenv。
Python虚拟环境 virtualenv 安装
pip3 install virtualenv
![](https://img-blog.csdnimg.cn/20210126214117325.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
进入虚拟环境,先要进入cd到虚拟环境的位置的Scripts中,然后在激活(命令行窗口运行activate.bat文件)虚拟环境,则进入新建的虚拟环境中了。
cd env_name\Scripts
activate.bat
![](https://img-blog.csdnimg.cn/20210126215051478.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
进入之后就可以通过pip3 命令安装需要各种框架依赖包了,且安装的包只在虚拟环境目录下,不会污染主运行环境。
退出虚拟环境 deactivate.bat
deactivate.bat
![](https://img-blog.csdnimg.cn/20210126215456930.png)
通过上面的步骤其实我们就已经完成虚拟环境virtualenv的安装和使用了,发现需要记住每一个虚拟环境的目录,才能进入虚拟环境并操作,很麻烦,下面通过另一个配置来简化我们的使用。简化配置是安装virtualenvwrapper包,它是基于virtualenv的扩展包,扩展包括创建和删除虚拟环境以及管理开发工作流的功能。
如果是Windows系统则安装virtualenvwrapper-win:
pip3 install virtualenvwrapper-win
![](https://img-blog.csdnimg.cn/20210126220549835.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210126220610676.png)
如果是Linux 系统则安装virtualenvwrapper:
pip3 install virtualenvwrapper
Windows 系统安装后需要设置环境变量才可使用,不过相比Linux下的设置已经显得相当的快捷。我们只需要创建两个环境变量:WORKON_HOME和PROJECT_HOME,路径设定完成后就可以开始使用了。这里我们主要以Windows系统为主,所以有需要了解Linux系统操作的同学可以评论留言。
参数说明:
- WORKON_HOME:表示存放虚拟环境的位置
- PROJECT_HOME:表示项目工作目录的位置(使用mkproject命令时会用到)
配置一个专门存放虚拟环境的安装目录WORKON_HOME。通过上面的步骤,创建虚拟环境,默认放在C:\Users\用户名\Envs目录中,这样有时候可能不满足我们的需求,比如我们想把项目放在其他位置,这样就需要我们自己配置一下环境变量。
新建要存放大文件夹:如 C:\Users\Public\envs
![](https://img-blog.csdnimg.cn/20210126222655862.png)
配置电脑系统环境变量,->新建系统变量 -> 变量名:WORKON_HOME ->指定路径:C:\Users\Public\envs
![](https://img-blog.csdnimg.cn/20210126222752615.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
通过设置WORKON_HOME路径,就给我们的Python虚拟环境指定了一个存放位置,再次运行workon,不在提示没有该目录了,说明配置成功。
![](https://img-blog.csdnimg.cn/20210126223034862.png)
虚拟环境 virtualenvwrapper 的使用方法
这里仅重点介绍virtualenvwrapper的常用命令。
mkvirtualenv:
在WORKON_HOME目录中创建一个新的虚拟环境。
mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] ENVNAME
参数说明:
- -i:指定一个或多个包
- -a:指定一个项目目录,用于将该虚拟环境绑定至一个现有项目
- -r:指定一个requirements文件,一般是由
pip freeze
所生成的,里面包括了需要用到的所有包 - virtualenv options:参数将直接传递给
virtualenv
,详情参阅virtualenv官方文档
如mkvirtualenv env_name会创建一个名为env的虚拟环境并激活,之后pip安装的所有包都仅仅存在于这个环境中。
![](https://img-blog.csdnimg.cn/2021012622361411.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
mkproject:
在PROJECT_HOME目录中创建项目目录同时在WORKON_HOME目录下创建同名虚拟环境。
mkproject [-f | --force] [-t template] [virtualenv_options] ENVNAME
如mkproject
project_name会创建一个名为project_name的项目目录,同时创建同名的虚拟环境,当前虚拟环境会被切换到新的虚拟环境,当前工作目录也会改变为新的项目目录。
![](https://img-blog.csdnimg.cn/20210126224154278.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
setvirtualenvproject:
将现有的虚拟环境绑定到现有的项目。
setvirtualenvproject [virtualenv_path project_path]
不指定参数情况下默认为当前虚拟环境和当前目录作为参数,可以实现单个项目可以绑定多个虚拟环境,从而达到在不同的Python版本或依赖之间切换以进行测试。
rmvirtualenv:
删除WORKON_HOME中的虚拟环境。
rmvirtualenv ENVNAME
例如rmvirtualenv env_name
将会删除虚拟环境env_name
。
![](https://img-blog.csdnimg.cn/20210126224702716.png)
workon:
列出所有虚拟环境或更改当前工作中的虚拟环境。
workon [(-c|--cd)|(-n|--no-cd)] [environment_name|"."]
- 命令
workon
会列出所有可用的虚拟环境 - 命令
workon env_name
将会切换当前虚拟环境到虚拟环境env_name
![](https://img-blog.csdnimg.cn/20210126225011567.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
deactivate:
退出当前虚拟环境。
deactivate
![](https://img-blog.csdnimg.cn/20210126225035232.png)
还有许多其他的命令,详情参阅virtualenvwrapper 5.0.1.dev2,以下仅列出一部分:
- mktmpenv:创建一个临时的虚拟环境,停用后将会自动被清除
- lsvirtualenv:列出所有可用环境
- wipeenv:删除当前虚拟环境中所有已安装的第三方软件包
安装 Arcade
创建虚拟环境arcade_env,以便以后在该虚拟环境下开发。
![](https://img-blog.csdnimg.cn/20210126225758978.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
在arcade_env虚拟环境下安装arcade。
![](https://img-blog.csdnimg.cn/20210126230028712.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210126230345450.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
编写简单测试代码测试arcade包是否安装成功,这里使用的IDE是Visual Studio Code,关于IDE的使用这里不做详述,如有IDE使用问题评论区留言。
import arcade
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN_TITLE = "Arcade包安装测试"
class MyGame(arcade.Window):
def __init__(self, width, height, title):
super().__init__(width, height, title)
arcade.set_background_color(arcade.color.AMAZON)
def on_draw(self):
arcade.start_render()
def main():
game = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
arcade.run()
if __name__ == "__main__":
main()
![](https://img-blog.csdnimg.cn/20210126232646703.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210126232719871.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RpZWxpYW41MjA=,size_16,color_FFFFFF,t_70)
至此Arcade包在虚拟环境的安装测试完成。