问题标签 [artemis]
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.
java - Artemis ECS 中位数据背后的用途
Artemis ECS中的成员和bit
成员Component Type
背后的目的是什么?TypeBit
SystemBit
Entity
这些是 Artemis ECS 的 git 存储库的一些屏幕截图,它们引用了ComponentType
和Entity
:
为了ComponentType
为了Entity
这是 git 的链接。
artemis - Artemis - 如何从世界中删除所有实体
我想从世界中删除所有实体。如果为实体注册了标签或组,我也想删除它们。就像根本没有这样的实体。它很像World.delete
函数,但你应该循环所有实体。我找不到办法。并且无法相信设计师没有准备这样的功能来清除世界上的实体。我错过了什么吗?
java - 如何结合 artemis-odb + Glenn Fiedler 游戏循环
我想在我的游戏中使用 artemis ( https://github.com/junkdog/artemis-odb )。
最近我读到了 Glenn Fiedler 的游戏循环: http: //gafferongames.com/game-physics/fix-your-timestep/
所以提到的游戏循环有两个部分,artemis world.process(); 会发生。集成部分和渲染部分。
任何想法我如何用阿尔忒弥斯完成这样的事情。
artemis 支持这种游戏循环吗?
我现在想到的唯一解决方案是:
设置一个全局静态标志,指示其是集成还是渲染过程,然后EntitySystem.process(Entity e)
在设置错误标志时退出所有方法。像这样:
问题在于,由于实体不处理任何内容,因此不需要对许多实体进行迭代。
我正在考虑拥有 2 个Worlds
,但我认为我不能轻松地在 之间共享相同的 Component 实例Worlds
,尤其是当它们是池对象时。
知道如何结合 artemis-odb + Glenn Fiedler 游戏循环吗?
编辑:刚刚发现我可以setEnabled()
用来禁用和启用EntitySystems
. 现在就可以了。
java - 如何防止游戏客户端发送假玩家ID?
我正在编写一个游戏客户端/服务器。我使用 Artemis-odb 和 Netty 来处理实体和网络。每个注册玩家都从数据库中分配了一个自动增量 ID。此 ID 与每个客户端/服务器事件相关联。
我想防止客户通过简单的 ID 欺骗来阻止帐户劫持。从理论上讲,防止这种情况的最佳做法是什么?
游戏/客户端不使用 UUID,但如果这是最佳选择则可以。
谢谢!
artemis - Artemis - EntityManager 的多个实例
我正在使用 Artemis-odb 框架在 Java 中编码游戏(https://github.com/junkdog/artemis-odb)。
我想实例化一些实体(例如,建筑物和人/工人)。我还看到了框架的 EntityManager 类并尝试使用它。
这是我的问题:
- 我不想拥有一个扩展 EntityManager 并拥有所有“创建”方法的大型类,因为这将是一个糟糕的类 --> 太多的代码行,没有 lisibility,不,谢谢。
- 我尝试创建扩展 EntityManager 的多个类,但是每个类都有其“nextId”值(它可以知道要赋予新实体的 id)-> 我获得了具有相同 id 的多个实体。
- 如果我创建多个类并仅引用一个 EntityManager,则无法访问 EntityManager 的 create 方法,因为该方法受到保护。
- 我尝试的另一个解决方案是仅使用静态方法创建不同的类并引用 EntityManager。但是由于另一个原因(我省略了细节),我的 EntityManagers 需要具有非静态方法。
你有什么可行的解决方案吗?目前没有太多关于这个框架的文档,所以它有点复杂!
谢谢,
libgdx - Libgdx 项目中与 Artemis 相关的 NPE
更新: WorldConfiguration 和 World 还是一样的,
出于清晰的原因决定发布完整的代码,实际上无法解释问题出在哪里,即使我遇到了指向我的错误
此方法中使用的 ModelComponent
此方法中使用的 BulletComponent
当然还有这个项目中使用的 BulletSystem
考虑到所有这些,我知道我找不到任何解决方案,也许对于任何希望提供帮助的人来说会更清楚谢谢无论如何。