问题标签 [amethyst]

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 投票
1 回答
157 浏览

rust - 无法设置按钮颜色

基于这个 UI 示例,我在on_start方法的末尾添加了一个自定义按钮。但是当我运行游戏时,按钮主体是不可见的,只显示它的文本(“1234567”)。

我添加到示例中的代码:

使用自定义颜色动态创建按钮的正确方法是什么?

我正在使用紫水晶 v0.15。

在此处输入图像描述

0 投票
0 回答
56 浏览

rust - 如何生成一个球体并将其传递给资产加载器

我在网上找到了这段代码,它可能适用于不同版本的 Amethyst 引擎:

看起来现在该generate方法返回 aMeshBuilder而不是Mesh本身。我可能可以在构建器上调用该.build()方法,但它需要两个额外的参数,其中一个是QueueId,我没有也不知道从哪里获取它们。

我怎样才能将该代码正确地适应 Amethyst 0.15 版本?

0 投票
1 回答
196 浏览

rust - 在 Amethyst ECS 架构中添加事件通道

Amethyst Pong 教程中,对实体/组件/系统(ECS)架构的解释让我觉得系统是在main函数中添加到游戏中的东西,不能在运行时添加或删除。

在同一本书中,我按照这一部分添加了一个Producer系统和一个Receiver系统,它们都与定制的EventChannel.

由于ReceiverProducer是系统,按照教程我只学习了如何将它们添加到main函数中,而没有其他地方,而在代码示例中,Receiver'new方法是在World struct. 我没有任何关于Worldwhen 在main函数中的实例,因为在创建过程中似乎还为时过早,无法拥有其中之一。

如何以正确的 ECS 兼容方式完成?有没有办法在游戏循环期间从状态中检索系统并在那里订阅?会是正确的吗?

0 投票
1 回答
29 浏览

rust - How do I get an associated entity's transform?

Imagine I've crated an entity with transform:

How do I get its transform later having entity instance? E.g. (pseudo code):

0 投票
1 回答
44 浏览

user-interface - 如何在运行时将 UiWidget 创建为实体?

想象一下我创建了一个容器

我如何将它添加到世界并取回它的实体?就像是:

但它说“该特征specs::world::comp::Component未实现amethyst_ui::prefab::UiWidget<amethyst_ui::prefab::NoCustomUi, std::string::String>”。

我正在使用 Amethyst v0.15

0 投票
1 回答
216 浏览

rust - 如何在 Rust SPECS 中读取组件并写入具有相同组件的新实体?

我有一个正在生成其他实体的实体。例如生成器有一个位置组件,我希望生成的实体与生成器具有相同的位置。

在生成系统中,似乎我需要读取和写入一个组件,这听起来不可能。唯一的选择似乎是 a LazyUpdate,但我想避免这种情况,因为它需要调用world::maintain,并且我想在同一框架内的另一个系统中使用生成的实体。

我的系统代码:

我该如何解决这个问题?

0 投票
2 回答
1735 浏览

linux - Rust`std::time::Instant`“惊慌失措'提供的瞬间比自己晚”

我正在尝试在 rust 中设置一个简单的计时器,它以一定的频率返回 true。

std::time::Instant出于某种原因,在任务内使用时,这似乎总是会出现恐慌rayon(如果重要的话,在 Legion ECS 中运行)。

这是唯一一篇包含相同信息的帖子,但归结为使用了不寻常的内核。我只是使用 Ubuntu 18.04,没有任何异常设置。

此外,我尝试了多台机器,但代码出现了同样的错误。

这与使用std::time::Instant和有关rayon吗?

0 投票
1 回答
170 浏览

rust - 为什么特征没有实现?

我想尝试amethyst_physics图书馆制作游戏。(Duh)我按照示例进行操作,但不知何故我不工作:

错误:

是示例。

我究竟做错了什么?

0 投票
2 回答
417 浏览

rust - Rust Amethyst Pong 教程示例给出“错误:没有名为 `pong_tutorial_01` 的示例目标”

我刚刚克隆了 github 存储库 amethyst/amethyst,这是一个用 rust 编写的游戏引擎,以便遵循文档和教程。Amethyst文档中有关 pong 教程的文档告诉我们,您可以使用...运行示例

...但是当我尝试这个时,我得到一个错误...

错误:没有名为“pong_tutorial_01”的示例目标

现在,在大型项目中提供的运行代码示例的业务对我来说是新的,但似乎是 Rust 的适当部分,并且行为在外部项目的Cargo.toml(s)和(I想想)里面的示例子项目。但是在阅读了这里的一些 rust Cargo 书籍后,关于需要存在于示例子目录中的示例,并且有一些方法可以防止它们被自动发现(例如autoexamples = false),除非它们以另一种方式特别配置,否则一切似乎都井井有条。

没有我学习如何配置货物的每一个细节,有没有聪明人知道为什么这不起作用?提前致谢。

ps 我在 Win 10 上运行。Rustup 更新是最新的。其他生锈的东西工作。事实上,如果我深入研究它们的目录并cargo run直接运行它们,这些示例就可以工作,所以我认为我没有语言/工具链配置问题。我只是对为什么那个特定的命令行不能像宣传的那样工作感兴趣。

0 投票
0 回答
46 浏览

rust - Rust Amethyst 实体问题

我正在尝试将此 ron 文件部分重写为 rust 代码:

这是 amethyst git repo ( https://github.com/amethyst/amethyst/blob/v0.15.3/examples/sphere/assets/prefab/sphere.ron ) 中的一个示例文件我写了这个 rust 函数:

但是当我从on_start回调中调用它时,它什么也不做!我用调试线(https://github.com/amethyst/amethyst/tree/v0.15.3/examples/debug_lines)运行它以排除位置错误,但球体仍然没有出现在任何地方。我花了6个多小时试图解决这个问题,但仍然没有解决方案。请告诉我我错过了什么