0

私は何か間違ったことをしていることを知っていますが、正確に何を見つけることができません(コーディングの長い一日)。

粒子シミュレーターを実装する必要があります。いくつかのクラスがあり、右クリックでいくつかのエミッターを作成できるようにする必要があります。

いくつかのコード:

public final class Viewport extends JComponent implements ActionListener {

  private AffineTransform transform = new AffineTransform();
  private ArrayList particleList = new ArrayList();
  ParticleEmitter emitter1;
  private Timer timer;
  double x;
  double y;

  public Viewport() {
    particalEmitterImport();
  }


  public void particalEmitterImport() {

    initComponents();
    timer = new Timer(30, this);
    emitter1 = new ParticleEmitter(3);
    timer.start();
    timer.setInitialDelay(0);
    //repaint();
    x = 0;
    y = 0;
    transform.setToIdentity();
  }

  public void particalEmitterImport(int mouseX, int mouseY) {

    initComponents();
    timer = new Timer(30, this);
    emitter1 = new ParticleEmitter(3);
    timer.start();
    timer.setInitialDelay(0);

    x = mouseX;
    y = mouseY;
    transform.setToIdentity();
  }

メインクラス:

private void viewportMouseClicked(java.awt.event.MouseEvent evt) {                                      
    Viewport vw = new Viewport();
    if (SwingUtilities.isRightMouseButton(evt)) {
        xMouse = evt.getX();
        yMouse = evt.getY();
        vw.particalEmitterImport(xMouse, xMouse);
        vw.setLocation(xMouse,yMouse);
        System.out.println("CLICK");
        System.out.println(xMouse);
        System.out.println(yMouse);
        vw.setVisible(true);
    }

問題は、エミッターが表示されないことですが、出力には、イベントから取得したすべての値が表示されます。

4

1 に答える 1

5
w.particalEmitterImport(xMouse, xMouse);
                                ^^^^^^

私はあなたが言及していると思います:

w.particalEmitterImport(xMouse, yMouse);
                                ^^^^^^
于 2013-04-17T19:48:16.580 に答える