粒子模拟器Java
我知道我做错了什么,但我找不到确切的原因(漫长的编码日) 我需要实现粒子模拟器。 我有一些类,我需要使右键单击创建几个发射器成为可能 一些代码:粒子模拟器Java,java,swing,Java,Swing,我知道我做错了什么,但我找不到确切的原因(漫长的编码日) 我需要实现粒子模拟器。 我有一些类,我需要使右键单击创建几个发射器成为可能 一些代码: public final class Viewport extends JComponent implements ActionListener { private AffineTransform transform = new AffineTransform(); private ArrayList particleList = new A
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);
}
问题是我看不到我的发射器,但在输出中我看到了我从事件中获得的所有值
w.particalEmitterImport(xMouse, xMouse);
^^^^^^
我想你应该:
w.particalEmitterImport(xMouse, yMouse);
^^^^^^
我想你应该:
w.particalEmitterImport(xMouse, yMouse);
^^^^^^
为什么要创建新视口(
viewport vw=new viewport();
),而不是修改单击的视口?我不希望setVisible
做任何事情,因为vw
永远不会成为帧的后代。为了更快获得更好的帮助,请发布一个。为什么要创建一个新视口(viewport vw=new viewport();
),而不是修改单击的视口?我不希望setVisible
做任何事情,因为vw
永远不会成为帧的后代。要更快地获得更好的帮助,请发布一个。