Hallo,
ich stehe gerade vor einem Problem. Ich hab vor mehrere Objekt nacheinandern auf Knopfdruck einen bestimmten Pfad (via PositionPathInterpolator, von A nach B) entlang gehen zu lassen. Wenn ich jedoch, nachdem ich ein Objekt losgeschickt habe, ein zweites losschicke, dann befindet sich das zweite Objekt an der selben Stelle, wie das erste, welches früher losgeschickt wurde. Möchte aber, dass dieses sozusagen hinterherläuft.
Ich befürchte, dass dies an dem Alpha-Objekt liegt. Habe jedoch keinen Schmimmer, wie ich dieses Problem lösen kann.
Hier ein Auszug aus meiner Animation-Klasse:
ich stehe gerade vor einem Problem. Ich hab vor mehrere Objekt nacheinandern auf Knopfdruck einen bestimmten Pfad (via PositionPathInterpolator, von A nach B) entlang gehen zu lassen. Wenn ich jedoch, nachdem ich ein Objekt losgeschickt habe, ein zweites losschicke, dann befindet sich das zweite Objekt an der selben Stelle, wie das erste, welches früher losgeschickt wurde. Möchte aber, dass dieses sozusagen hinterherläuft.
Ich befürchte, dass dies an dem Alpha-Objekt liegt. Habe jedoch keinen Schmimmer, wie ich dieses Problem lösen kann.
Hier ein Auszug aus meiner Animation-Klasse:
Java:
public BranchGroup objektEinsAnimation(TransformGroup tg) {
BranchGroup objRoot = new BranchGroup();
Alpha alpha = new Alpha(-1, 5000);
Transform3D axisOfPos = new Transform3D();
float[] knots = { 0.0f, 0.1f, 0.2f, 0.3f, 0.4f, 0.6f, 0.8f, 0.9f, 1.0f };
Point3f[] positions = new Point3f[9];
AxisAngle4f axis = new AxisAngle4f(1.0f, 0.0f, 0.0f, 0.0f);
axisOfPos.set(axis);
positions[0] = new Point3f(0.0f, -4.0f, 10.0f);
positions[1] = new Point3f(-4.0f, -4.0f, 10.0f);
positions[2] = new Point3f(-8.0f, -4.0f, 10.0f);
positions[3] = new Point3f(-12.0f, -4.0f, 10.0f);
positions[4] = new Point3f(-16.0f, -4.0f, 10.0f);
positions[5] = new Point3f(-20.0f, -4.0f, 10.0f);
positions[6] = new Point3f(-24.0f, -4.0f, 10.0f);
positions[7] = new Point3f(-28.0f, -4.0f, 10.0f);
positions[8] = positions[0];
PositionPathInterpolator posPath = new PositionPathInterpolator(alpha, tg, axisOfPos, knots, positions);
posPath.setSchedulingBounds(new BoundingSphere());
objRoot.addChild(posPath);
return objRoot;
}
public BranchGroup objektZweiAnimation(TransformGroup tg)
...
public BranchGroup objektDreiAnimation(TransformGroup tg)
...
public BranchGroup objektVierAnimation(TransformGroup tg)
...