Libgdx ParticleEffect: ошибок нет, но ничего не рисуется

Почему этот код не работает. Ошибок нет, но ничего не рисуется.

Метод render содержит:

    effect = new ParticleEffect();
    effect.setPosition(200, 200);
    effect.start();

    float delta = Gdx.graphics.getDeltaTime();
    GL10 gl = Gdx.app.getGraphics().getGL10();
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    spriteBatch.begin();

    effect.draw(spriteBatch, delta);

    spriteBatch.end();

person Vladimir    schedule 16.04.2012    source источник


Ответы (4)


Если вы создаете новый эффект в каждом кадре, он никогда не будет двигаться или что-либо делать, так как он будет сбрасываться в каждом кадре. Вы должны создать эффект вне вашего цикла.

Я не знаю, каким будет эффект частиц без настройки. Поэтому вам также следует попробовать добавить текстуру и установить ее настройки.

person Matsemann    schedule 16.04.2012
comment
Я не могу вам помочь, если вы не будете писать по-английски. - person Matsemann; 16.04.2012

Я думаю, что только создания конструктора для ParticleEffect недостаточно, поэтому вам нужно загрузить файл эффекта частиц, используя объект эффекта, который вы создали следующим образом. Также вы должны взять эту вещь из цикла.

effect.load(Gdx.files.internal("data/yellow_particle"), Gdx.files.internal("data"));

person Siddharth    schedule 17.04.2012

Запустить один раз:

effect = new ParticleEffect();
effect.load(Gdx.files.internal("path/to/your/particle.p", "directory/with/your/particle/png"));
effect.setPosition(200, 200);
effect.start();

Запустить в рендере:

spriteBatch.begin();

effect.draw(spriteBatch, delta);

spriteBatch.end();

И в распоряжении:

effect.dispose();

Particle.png можно скопировать из исходников libgdx, например: https://github.com/libgdx/libgdx/blob/master/extensions/gdx-tools/assets/particle.png

И еще раз посмотрите видеоурок - вы много чего путаете и пропускаете: http://www.youtube.com/watch?v=LCLa-rgR_MA

Сам учебник охватывает меньше вещей, чем видео, но вставляем сюда в надежде, что он будет обновляться: https://github.com/libgdx/libgdx/wiki/2d-particle-effects

person Deepscorn    schedule 04.05.2014

Создайте эффекты частиц в конструкторе вашего класса. Не создавайте объекты с эффектами частиц каждый раз в методе рендеринга. Вот почему ваши эффекты частиц инициализируются каждый раз, и вы ничего не видите.

person tamal.mitra    schedule 07.09.2013