Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是统一';s";“单一行为组件”;等效于实体组件系统设计模式中的系统?_Java_Unity3d_Components_Entity_Composition - Fatal编程技术网

Java 是统一';s";“单一行为组件”;等效于实体组件系统设计模式中的系统?

Java 是统一';s";“单一行为组件”;等效于实体组件系统设计模式中的系统?,java,unity3d,components,entity,composition,Java,Unity3d,Components,Entity,Composition,我正在制作一个非常简单的2D游戏引擎,我正在重做我的实体,使其工作起来有点像Unity的系统。我一直在研究实体组件系统设计模式(ECS)是如何工作的,我开始更好地理解它 据我所知,ECS中的组件只保存数据,除了保留数据外,无法执行任何操作。这些组件然后由系统使用,系统用于读取和操作数据 这让我产生了一个问题:在Unity中,连接到游戏对象的单行为脚本在技术上是否是系统,而不是Unity编辑器中所称的组件 如果我弄错了,我认为分析ECS的真实实现对我会有所帮助。我用java编码,所以如果有人用ja

我正在制作一个非常简单的2D游戏引擎,我正在重做我的实体,使其工作起来有点像Unity的系统。我一直在研究实体组件系统设计模式(ECS)是如何工作的,我开始更好地理解它

据我所知,ECS中的组件只保存数据,除了保留数据外,无法执行任何操作。这些组件然后由系统使用,系统用于读取和操作数据

这让我产生了一个问题:在Unity中,连接到游戏对象的单行为脚本在技术上是否是系统,而不是Unity编辑器中所称的组件

如果我弄错了,我认为分析ECS的真实实现对我会有所帮助。我用java编码,所以如果有人用java或C++语言实现的ECS系统的例子,那就太好了,因为我看到的大多数例子都是C++,这对我来说有点难理解。
谢谢

尽管使用了术语“组件”,但Unity并不严格地通过ECS工作。Unity组件以
单一行为的形式,可以同时具有数据和系统逻辑

如果您想使用当前的Unity版本(2018.1及以下)并严格遵守ECS方法,我建议您研究一下。您也可以选择按照ECS原则构建代码、资产和场景,但Entitas非常高效,为您解决了许多问题