没有 EntityFactory 有注释的方法 @Spawns()

阿奎利安

我在测试 TMX 功能时遇到问题。我想将一个简单的 TMX 文件加载到我的示例 FXGL 应用程序(JavaFX 游戏库)中。有任何想法吗?

错误:

10:52:31.888 [FXGL 后台线程 4] 警告 TMXLevelLoader - TiledMap 从 1.7.2 生成。支持版本:1.2.3。某些功能可能无法完全解析。10:52:32.001 [FXGL 后台线程 4] 警告 TMXLevelLoader - 解析错误 java.lang.IllegalArgumentException:没有 EntityFactory 在 com.almasb.fxgl.entity/com.almasb.fxgl.entity.GameWorld 有一个方法注释@Spawns() .create(GameWorld.kt:413) at com.almasb.fxgl.entity/com.almasb.fxgl.entity.level.tiled.TMXLevelLoader.createObjectLayerEntities(TMXLevelLoader.kt:132) at com.almasb.fxgl.entity/com .almasb.fxgl.entity.level.tiled.TMXLevelLoader.load(TMXLevelLoader.kt:50) 在 com.almasb.fxgl.all/com.almasb.fxgl.app.services.FXGLAssetLoaderService.loadLevel(FXGLAssetLoaderService.kt:446)在 com.almasb.fxgl.all/com.almasb.fxgl.dsl.FXGL$Companion.setLevelFromMap(FXGL.kt:521) 在 com.almasb.fxgl。

TMX:

 <objectgroup id="2" name="Object Layer 1">
  <object id="2" name="tree" x="513.036" y="352.019" width="63.2967" height="64.4072"/>
 </objectgroup>

应用程序:

@Override
protected void initGameVars(Map<String, Object> context) {
    FXGL.getGameWorld().addEntityFactory(new SimpleEntityFactory());
}

@Override
protected void initGame() {
    FXGL.setLevelFromMap("level01.tmx");
}

工厂:

public class SimpleEntityFactory implements EntityFactory {

      @Spawns("tree")
      public Entity newTree(SpawnData data) {
         return FXGL.entityBuilder(data).view(new Circle(8, Color.BLUE)).build();
      }

}
阿尔马斯

我猜在 .tmx 文件中,创建的对象没有类型,因此它的类型是""-- 空字符串。您的工厂SimpleEntityFactory没有注释方法@Spawns(""),因此出现错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

没有注释的onCreateDialog方法会覆盖以@NonNull注释的方法

没有@Inject构造函数或@Provides注释方法无法提供

没有 @Provides 注释的方法无法提供匕首刀柄

如何匹配AspectJ中没有特定注释的方法

如果没有@Provides 注释的方法,则无法提供 MainActivityModule

为什么没有方法在JSON中进行注释?

没有@Provides注释的方法,无法提供该类

没有@Provides注释的方法将无法提供--Confusedddd

是否可以拦截没有AroundTimeout注释的超时方法?

没有注释的WCF合同

没有DOCTYPE的HTML注释

没有geom的ggforce注释?

有没有更好的方法可以从PDF文档中删除所有注释?

有没有一种方法可以将所有注释转换为javadoc注释?[Eclipse / Java]

如何找到没有@Override注释的所有覆盖超类/接口方法的方法?

有没有一种方法可以将方法注释传递给子类?

有没有一种方法可以使ini文件中没有注释?

有没有办法可以在 Visual Studio IDE 中显示方法的注释参数?

如何查找没有特定参数集且具有特定注释的方法?

如果没有消息,则不会调用带有@KafkaListener注释的方法

有没有一种方法可以在Python中创建多行注释?

有没有一种方法可以在Python中创建多行注释?

有没有一种方法可以使用Smoke获得类的注释?

没有main()方法的所有注释如何在TestNg中工作

有没有办法为不同的方法共享 swagger 注释?

Java寻找具有特定注释的方法及其注释元素

使用Jackson实现没有注释的toString()

使用没有注释@Projection的投影

Spring查找没有注释的bean