问题标签 [arcade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
57 浏览

python - python街机库,如何与其他程序交互

我目前正在尝试制作一个简单的 Python 街机游戏(“ http://arcade.academy/ ”)

我写了一个交通模拟,现在我正在尝试开发另一个可以与之交互的程序。

我现在的问题是,我首先不知道如何从街机游戏中提取像素,其次如何通过另一个程序自动“引导”街机游戏。我只看到“on_mouse_click”和其他可以帮助我的类似钩子,但对程序没有任何帮助。也许有人知道做这件事的适当方法是什么。

作为背景:我正在尝试从这个游戏中制作一个 OpenAI-gym,以便其他“AI”可以与之互动。

0 投票
1 回答
717 浏览

python - Python中的无限滚动背景

我正在尝试使用 python 的街机库为简单的“躲避传入对象”游戏创建无限滚动背景。我已经设法让背景移动,但我似乎无法创建另一个。我一直在看很多示例代码,我理解基本思想是我有一个列表,当 x = 0 时删除背景,然后在起始值处附加另一个。

我在执行时遇到了麻烦。:/

0 投票
1 回答
344 浏览

python - 窗口截图 Python Arcade 库

如何使用 Python Arcade 库截取当前窗口的屏幕截图?

我已经使用 Python Arcade 库构建了一个模拟器,并希望在发生有趣事件时以编程方式截取窗口的屏幕截图。这可能吗?

0 投票
1 回答
1584 浏览

python - Python 3.6.4 Arcade 模块窗口错误?{pyglet.gl.lib.GLException:b'无效枚举'}

更新:

我检查了计算机上安装的显卡。

它“工作”的一个具有Nvidia Graphics,另一个具有设备管理器中显示适配器下的Intel HD R图形。我假设 Intel HD R 图形驱动程序不够用(不包含所需的 OpenGL?)。

为了使街机模块工作,我需要在 Intel HD R 图形计算机上安装什么?

原始问题:

遇到一个非常奇怪的问题,我编写的 python 代码可以在一台计算机上运行,​​但不能在另一台计算机上运行,​​我不知道为什么......

我在两台计算机上都安装了 Python 3.6.4。 任何 3.6 以上的版本都应该能够运行 Arcade 模块。

这是我的代码,超级简单的东西:

在一台计算机上工作正常,但在另一台计算机上,我收到此错误:

代码格式:

截屏: 在此处输入图像描述

问题:为什么它可以在一台计算机上运行,​​而不能在另一台计算机上运行?

任何帮助将不胜感激。谢谢!

0 投票
1 回答
792 浏览

python - 从 Python Arcade 模块运行 open_window 命令时出现 AttributeError

arcade我刚刚在我的 MacBook 上安装了 Python 3 和模块,并正在尝试遵循一个简单的 Hello World 教程: https ://opensource.com/article/18/4/easy-2d-game-creation-python-and-arcade

导入街机作品,但只要我添加下一行以打开一个空白窗口,它只返回一个AttributeError

不幸的是,在AttributeError with Pyglethttps://github.com/pvcraven/arcade/issues/264中建议的解决方案不起作用。我的工作目录中没有任何名为arcade.pyetc 的文件。

我怎样才能使这项工作?

代码:

0 投票
1 回答
552 浏览

python - 在 Python 中,如何使用街机中的图像制作交互式按钮?

我正在尝试使用 python 在街机中创建一个交互式按钮。我正在使用 os 导入图像,想知道是否可以将点击功能转换为图像。我希望通过单击图像打开一个新窗口。我知道 tkinter 主要用于此目的,但我正在创建游戏并且不想使用 tkinter。我也不喜欢使用 PyGame。我也不确定如何在从 os 导入的图像上应用边界。

我在 arcade.academy 上查找了有关如何在街机中使用按钮的教程,但它需要使用街机形状手动绘制形状和输入文本。我还尝试了将坐标输出到 python shell 的教程,同时我单击画布上的随机点,试图将其合并到图像中。下面的示例代码尚未完成,但我尝试过这样做。

我确实收到了很多“未定义”的错误消息。我并没有很好地分配我的价值观。我也期待被拒绝,很多人告诉我这是不可能的。

0 投票
2 回答
61 浏览

python - 有没有办法在 python 中生成不同的对象实例?

我正在用 python 制作游戏(使用街机库)。我做了一个“武器”类,我可以在其中制作不同的武器实例(具有不同的精灵、伤害统计等)。我想要它,所以当某个变量为 True 时,枪会创建一个类的新实例(子弹),但我不想将每个实例分配给一个新变量等。有没有办法做到这一点?并且请不要太复杂,因为我在 Python 方面还没有走得太远。

0 投票
1 回答
1296 浏览

python - delta_time 如何在 python 街机上工作?

我正在阅读有关 python 街机的教程,并想知道一个函数如何/为什么工作。

有一个函数名为on_draw(delta_time)

我查看了街机的代码,但无法弄清楚图书馆如何知道保持时钟运行。有人可以帮助我了解它的工作原理和原因吗?

一个例子在这里:http ://arcade.academy/examples/bouncing_rectangle.html#bouncing-rectangle

0 投票
2 回答
2613 浏览

python - 没有名为 arcade 的模块

对于我正在使用 python 街机的课程。我用pip install arcade. 当我尝试导入它时,import arcade它会弹出ModuleNotFoundError: No module named 'arcade'

我已经卸载并重新安装了街机。当我进入时它会出现pip freeze。我在 Windows 10 上使用 VS Code。当我查看 VS Code 中的“错误”选项卡时,它显示“无法导入 'arcade' pylint(import-error)[3,1]”

0 投票
2 回答
147 浏览

python - 如何让高频线程与低频更新的类对话?

概括

我正在做一个需要低 delta_t 的实时物理模拟。我已将此模拟连接到 python-arcade 游戏窗口以实时显示信息。

我为物理线程制作了一个单独的线程,因为物理线程中有一些昂贵的矩阵乘法。然后,当更新完成时,我设置游戏窗口类的结果状态,游戏窗口在绘制新框架时可以显示这些状态。

因此,我的想法是游戏窗口类只需要担心在屏幕上的绘制,而物理线程负责所有的计算。

但是,游戏窗口和线程之间的通信存在瓶颈,我不知道是否有深入的了解。

我想做的最小表示:

预期结果:高帧率的平滑模拟。街机窗口只需以 30 或 60 fps 运行 on_draw。它只需要画一些东西。

实际结果:物理循环运行速度超快并调用 FPS 下降。

当我在物理线程中添加 time.sleep(0.1) 时,整个事情变得更加顺畅,我猜出于某种原因set_state( _ )会减慢绘制循环。