Ошибка синтаксического анализа эмиттера LibGDX ParticleEffects - PullRequest
0 голосов
/ 01 июля 2018

Я использую LibGDX 1.9.8 и пытаюсь добавить ParticleEffects, созданный с помощью ParticleEditor.

Я пытаюсь загрузить новый эффект с помощью:

torchFX.load(Gdx.files.internal("effects/torch.p"), Gdx.files.internal("effects"));

Но я получаю ошибку ниже

Exception in thread "LWJGL Application" java.lang.RuntimeException: Error parsing emitter: torch
at com.badlogic.gdx.graphics.g2d.ParticleEmitter.load(ParticleEmitter.java:1160)
at com.badlogic.gdx.graphics.g2d.ParticleEmitter.<init>(ParticleEmitter.java:103)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.newEmitter(ParticleEffect.java:227)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.loadEmitters(ParticleEffect.java:173)
at com.badlogic.gdx.graphics.g2d.ParticleEffect.load(ParticleEffect.java:153)
at com.bbg.dc.AssetLoader.getTorchFX(AssetLoader.java:92)
at com.bbg.dc.scenes.GameScene.setupMap(GameScene.java:202)
at com.bbg.dc.scenes.GameScene.switchMap(GameScene.java:159)
at com.bbg.dc.scenes.GameScene.start(GameScene.java:139)
at com.bbg.dc.DCGame.changeScene(DCGame.java:160)
at com.bbg.dc.scenes.MainMenu.buttonPressed(MainMenu.java:33)
at com.bbg.dc.iface.Button.update(Button.java:98)
at com.bbg.dc.iface.Scene.update(Scene.java:180)
at com.bbg.dc.scenes.MainMenu.update(MainMenu.java:49)
at com.bbg.dc.DCGame.render(DCGame.java:129)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
Caused by: java.lang.IllegalArgumentException: No enum constant com.badlogic.gdx.graphics.g2d.ParticleEmitter.SpawnShape.false
at java.lang.Enum.valueOf(Enum.java:238)
at com.badlogic.gdx.graphics.g2d.ParticleEmitter$SpawnShape.valueOf(ParticleEmitter.java:1637)
at com.badlogic.gdx.graphics.g2d.ParticleEmitter$SpawnShapeValue.load(ParticleEmitter.java:1622)
at com.badlogic.gdx.graphics.g2d.ParticleEmitter.load(ParticleEmitter.java:1107)
... 16 more

Я уже убедился, что в каталоге эффектов есть particle.png. Я пробовал это с моим собственным эффектом частиц, а также ParticleEditor по умолчанию. Я пытался изменить SpawnShape безрезультатно. Я годами приходил в SO за ответами, и это первая проблема, которую я не смог решить с помощью поиска. Я также только что обновил все мои банки до последней 1.9.8 и последней версии ParticleEditor. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 16 июля 2018

У меня была очень похожая проблема, глядя на старый файл, который работал, и новый файл, который я заметил, было несколько записей в новом файле, которого не было в рабочем файле.

А именно строка;

independent: false

Удаление всех инстансов для этого, похоже, помогло мне.

Я предполагаю, что это обновленная функция, отсутствующая в текущей стабильной версии libgdx (1.9.8 на момент написания статьи). Может быть доступно в ночной версии.

Выглядит как свойство, добавленное к подросткам для каждого отдельного свойства.

Было бы полезно, если бы более ранние сборки инструментов были более доступны.

0 голосов
/ 01 июля 2018

Я решил эту проблему, запустив ParticleEditor из того же gdx-tools.jar, что и мой проект. Я предположил, что исполняемый файл jar в папке runnables в репозитории libgdx идентичен, но это не так. Вы должны использовать один и тот же tools.jar для обоих.

...