Hallo,
das habe ich auch schon gemacht. Hier die Klasse der Objekte:
package de.fhb.arlearning.core;
import com.threed.jpct.*;
import java.io.*;
import java.awt.*;
public class T1 extends AbstractEntity {
private final static Object3D OBJ;
static {
OBJ= Primitives.getSphere(10, 100);
OBJ.build();
}
public T1() {
super(OBJ);
addCollisionListener(new ObjectCollisionListener());
setCollisionMode(COLLISION_CHECK_OTHERS | COLLISION_CHECK_SELF);
setCollisionOptimization(Object3D.COLLISION_DETECTION_OPTIMIZED);
}
}
Dann füge ich sie der Welt hinzu:
p = new T1();
p.setOrigin(new SimpleVector(122, -164, 1435));
world.addObject(p);
m = new T2();
m.setOrigin(new SimpleVector(500, -164, 1435));
world.addObject(m);
Und in einer Schleife lass ich dann m in richtung p wandern:
while (true) {
buffer.clear();
SimpleVector a = m.getXAxis();
a.scalarMul(5);
m.translate(a);
System.out.println();
System.out.print("(" + Math.round(p.getTransformedCenter().x)
+ ", " + Math.round(p.getTransformedCenter().y) + ", "
+ Math.round(p.getTransformedCenter().z) + ") - ");
System.out.print("(" + Math.round(m.getTransformedCenter().x)
+ ", " + Math.round(m.getTransformedCenter().y) + ", "
+ Math.round(m.getTransformedCenter().z) + ") - ");
world.renderScene(buffer);
world.drawWireframe(buffer, Color.red);
buffer.update();
display();
Thread.yield();
}
Aber nix passiert...er sollte bei einer Kollision eigentlich was ausgaben:
public void collision(CollisionEvent ce) {
System.out.println("Source:" + ce.getSource());
System.out.println("Object:" + ce.getObject());
}
So wie ich mich kenne ist das ein kleiner simpler Fehler...aber ich finde Ihn nicht.