有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Slick2D粒子系统不会生成粒子

在我的一个类中(在我希望粒子存在的类中)有这个。这是init方法中的一些代码

public void init(GameContainer c, StateBasedGame sbg) throws SlickException {
    drop = new Image("Fishing/drop.png");
    system = new ParticleSystem(drop,1500);
    try{
        File xmlFile = new File("particles/healing.xml");
        ConfigurableEmitter emitter = ParticleIO.loadEmitter(xmlFile);
        emitter.setPosition(400, 400);
        system.addEmitter(emitter);
    } catch(Exception e){
        System.out.println("Exception: "+e.getMessage());
        e.printStackTrace();
        System.exit(0);
    }

这就是治疗的意义。xml文件

    <?xml version="1.0" encoding="UTF-8"?>
<emitter imageName="" name="Healing Particle">
  <spawnInterval enabled="true" max="150.0" min="100.0"/>
  <spawnCount enabled="true" max="3.0" min="1.0"/>
  <initialLife enabled="true" max="1000.0" min="500.0"/>
  <initialSize enabled="true" max="15.0" min="5.0"/>
  <xOffset enabled="true" max="4.0" min="-4.0"/>
  <yOffset enabled="true" max="4.0" min="-4.0"/>
  <initialDistance enabled="false" max="0.0" min="0.0"/>
  <speed enabled="true" max="50.0" min="12.0"/>
  <length enabled="false" max="1000.0" min="500.0"/>
  <spread value="40.0"/>
  <angularOffset value="0.0"/>
  <growthFactor value="20.0"/>
  <gravityFactor value="0.0"/>
  <startAlpha value="255.0"/>
  <endAlpha value="0.0"/>
  <color>
    <step b="0.0" g="0.0" offset="0.0" r="1.0"/>
    <step b="0.0" g="0.0" offset="0.336" r="1.0"/>
    <step b="0.0" g="0.0" offset="1.0" r="1.0"/>
  </color>
</emitter>

粒子不会出现。我也使用了这个系统。render();在渲染方法和系统中。更新(德尔塔);关于更新方法。提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    您可以尝试使用fire发射器,它是slick2d库的一部分

    http://slick.ninjacave.com/javadoc/org/newdawn/slick/particles/effects/FireEmitter.html

    这对你有用吗?如果出现这种情况,您的更新/渲染方法可能无法正常工作,或者您的。XML无效。(对我来说都很好)。你的init看起来也不错。但是试试一个简单的方法。XML,您可以确定它是否有效

    我经常感觉到没有粒子出现在我的手机上。XML

    此外,如果您还没有阅读本教程: https://www.youtube.com/watch?v=Re5XJiWy4eQ

    它提供了一个你也可以测试的演示

    如果所有的演示/测试都不起作用,我假设您的计算机配置负责不显示这些粒子