Probleme mit Kollisionserkennung !

Status
Nicht offen für weitere Antworten.
E

Expl

Gast
Hallo,
ich hoffe mir kann jemand helfen. Ich versuche eine Kollisionsvermeidung zu programmieren,dazu benutze ich ein
ShapeCylinderSegment. Mein Problem ist, dass mein Objekt , dass ich bewege mit seinem eigenen Radius(ShapeCylinderSegment) kollidiert.

Code:
public class KeyBehavior extends Behavior
{
		
	private TransformGroup transformGroup;
	
	private Transform3D positionTransform3D = new Transform3D();
	
	private WakeupCriterion criterion;

	
	private PickTool picktool;
	private PickInfo pr;
	private Point3d startP = new Point3d(0.3, 0, 0.3);
	private Point3d endP = new Point3d(-0.3, 0,  -0.3);

	private Vector3f forward = new Vector3f(0f, 0f, -0.3f);
	private Vector3f backward = new Vector3f(0f, 0f, 0.3f);
	
	private Box box;
	private Vector3f position_Player = new Vector3f(0f, 0f, 0f);
	private Transform3D positionT3D = new Transform3D();
	float x, y, z;
	
	/* im Konstruktor wird ein Objekt vom Typ TransformGroup �bergeben							*/
	public KeyBehavior(TransformGroup tg, BranchGroup rootBG,Box box)
	{
		picktool = new PickTool(rootBG);
		transformGroup = tg;
		this.box = box;
	}

	/* 
	 * Dient dazu den Behavior zu initialisieren. Es wird eine Variable criterion 
	 * f�r ein neu erzeugtes WakeupCriterion, also ein Aufwachkriterium verwendet. 
	 * Dabei handelt es sich um ein WakeUpOnAWTEventObjekt. Es sorgt daf�r , dass 
	 * jeder Tastendruck registriert wird.
	 * Die Methode wakeupOn() aktiviert diese Aufwachbedingung f�r das BehaviorObjekt
	 */
	public void initialize()
	{
		/*
		 * Konstruktor WakeupOnAWTEvent legt mit Hilfe des Parameters KeyEvent.KEY_PRESSED fest, dass jede
		 * gedr�ckte Taste als g�ltige Aufwachbedingung anzusehen ist.
		 */
		
		criterion = new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
		//nach dem aktivieren mittels wakeupOn() ist das Behavior "scharf"
		wakeupOn(criterion);
	}

	/*
	 * Wird eine Taste gedr�ckt, so wird automatisch die Methode processStimulus()
	 * aufgerufen. Es wird festegestellt um welche Art vonWakeupCriterion es sich
	 * handelt um dann dementsprechend zu reagieren. Ein Behavior kann mehrere Aufwachbedingungen haben. Damit
     * ausgewertet werden kann, welches Ereignis eben eingetreten ist, wird der Methode
     * processStimulus() das jeweilige WakeupCriterionObjekt mitgegeben.
	 */
	public void processStimulus(Enumeration criteria)
	{
		AWTEvent AWTEv[];

		WakeupCriterion wakeup;

		while( criteria.hasMoreElements() ) 
		{
			 wakeup = (WakeupCriterion) criteria.nextElement();
		
			 AWTEv = ((WakeupOnAWTEvent)wakeup).getAWTEvent();
		   
			 
			 // in der Schleife wird die gedrückte Taste an processKeyEvent übergeben
			 for( int i = 0; i < AWTEv.length; i++ ) 
			 {
				 if( AWTEv[i].getID() == KeyEvent.KEY_PRESSED )
					 processKeyEvent((KeyEvent)AWTEv[i]);
			 }
		}
		
		wakeupOn(criterion);
	}	
	
	
	 // gedrückte Taste wird an moveAllowed() übergeben und geprüft ob man sich bewegen darf
	 void processKeyEvent(KeyEvent eventKey)
	 {
	 int key = eventKey.getKeyCode();
	 System.out.println(key);    
	 move(key);
	 
	 } 
	
	
	 boolean movePossible(int key)
	 {
		 
		 picktool.setShapeCylinderSegment(startP, endP, 0.1);			// Radius festlegen
		 
		 pr = picktool.pickClosest();		// das am naheliegendste Element		
		
		 // wenn pr != null ist, ist eine Kollision eingetreten und die Bewegung wird nicht ausgeführt
		 if (pr != null)
		 {
			 		box.getLocalToVworld(positionT3D);
			 		positionT3D.get(position_Player);
			 		System.out.println("Kollision eingetreten an position: "+position_Player.x+" "+position_Player.y+" "+position_Player.z);
				
			     	System.out.println("Koordinaten Cylinder");
			     	System.out.println("Startpunkt :"+startP.getX()+ " " + startP.getY()+ " " +startP.getZ());
					System.out.println("Endpunkt: "+endP.getX()+ " " + endP.getY()+ " " +endP.getZ());

				return false;
		 
		 }
			
		 return true;
	 }
	 
	 
	 void move(int key)
	 {
		
		 if (movePossible(key) && key == KeyEvent.VK_UP)
		 {
			 Transform3D temp = new Transform3D();
				temp.set(forward);
         	positionTransform3D.mul(temp);
         	transformGroup.setTransform( positionTransform3D );
		 }

		 else if (movePossible(key) && key == KeyEvent.VK_DOWN)
		 {
			 Transform3D temp = new Transform3D();
				temp.setTranslation(backward);
         	positionTransform3D.mul(temp);
         	transformGroup.setTransform( positionTransform3D );
		 }
		
		 else if (movePossible(key) && key == KeyEvent.VK_LEFT) 
		 {
			 	Transform3D temp = new Transform3D();
				temp.rotY(Math.toRadians(90));
				positionTransform3D.mul(temp);
				transformGroup.setTransform( positionTransform3D );
		 }
//		 Pfeiltaste links : 2 Grad nach links
		 else if (movePossible(key) && key == KeyEvent.VK_RIGHT) 
		 {
			 	Transform3D temp = new Transform3D();
				temp.rotY(Math.toRadians(-90));
				positionTransform3D.mul(temp);
				transformGroup.setTransform( positionTransform3D );
		 }
		
	 }
}
 
G

Guest

Gast
Ich habs jetzt selbst nich durchgesehn aber wenns mit seinem Radius kollidiert kannst du eig einfach die "Person" auf setCollidable(false) setzten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Scaling Probleme Spiele- und Multimedia-Programmierung 6
J Probleme bei Pong Spiele- und Multimedia-Programmierung 9
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
J YoutubeAPI Livestream probleme Spiele- und Multimedia-Programmierung 3
G [LibGDX] Button Klick Probleme Spiele- und Multimedia-Programmierung 1
T Probleme mit JButton Spiele- und Multimedia-Programmierung 5
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
P Probleme mit VLCJ Spiele- und Multimedia-Programmierung 0
F Probleme bei der Soundwiedergabe Spiele- und Multimedia-Programmierung 0
S Probleme bei Breakout - Brick kollision Spiele- und Multimedia-Programmierung 2
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
F BlueJ Ufospiel Probleme Spiele- und Multimedia-Programmierung 1
B Probleme mit AndEngine in Android Spiele- und Multimedia-Programmierung 1
M 2048, 3 kleine Probleme Spiele- und Multimedia-Programmierung 4
A Probleme mit Darstellung von Umgebungen mittels mehrdimensionaler Arrays Spiele- und Multimedia-Programmierung 8
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
J Perfomance Probleme beim eigenen Editor Spiele- und Multimedia-Programmierung 1
K Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 10
Q LWJGL - Alpha-Probleme Spiele- und Multimedia-Programmierung 2
M Point & Click Thread Probleme Spiele- und Multimedia-Programmierung 20
K Probleme mit .jar Spiele- und Multimedia-Programmierung 12
L Probleme beim kompilieren von javakara Spiele- und Multimedia-Programmierung 3
D Probleme mit der Runnable jar Datei Spiele- und Multimedia-Programmierung 3
D Probleme mit objekt initializirung mit Mouselistener Spiele- und Multimedia-Programmierung 10
Black_ixx Hintergrund & Koordinaten Probleme Spiele- und Multimedia-Programmierung 2
B Probleme mit Texturen Spiele- und Multimedia-Programmierung 7
Maxim6394 Probleme bei Sidescroller Spiele- und Multimedia-Programmierung 5
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
T Probleme mit Skysphere in Opengl Spiele- und Multimedia-Programmierung 4
B Probleme mit redraw() Spiele- und Multimedia-Programmierung 3
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
S Probleme mit Tutorial Spiele- und Multimedia-Programmierung 3
T Probleme mit AffineTransform Spiele- und Multimedia-Programmierung 13
W Probleme mit Mouselook Spiele- und Multimedia-Programmierung 2
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 5
B GameGrid Probleme mit mehrere Actors Spiele- und Multimedia-Programmierung 2
M [Spiel] Kartenspiel Leben und Tod Tips und Probleme Spiele- und Multimedia-Programmierung 7
G [Java3D] Probleme bei Animation Spiele- und Multimedia-Programmierung 4
S Probleme mit JMenu in einem JFrame mit BufferStrategy Spiele- und Multimedia-Programmierung 2
Steev Probleme mit Kameraausrichtung bei ISO-Map Spiele- und Multimedia-Programmierung 3
R MediaPlayer macht Probleme Spiele- und Multimedia-Programmierung 2
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
prakdi Probleme mit Quaxlis tutorial Spiele- und Multimedia-Programmierung 5
D Java Pong Probleme Spiele- und Multimedia-Programmierung 7
T Java Sound Probleme Spiele- und Multimedia-Programmierung 8
P probleme mit key event Spiele- und Multimedia-Programmierung 11
T Bekanntes Heli Spiel -> Aber Probleme damit Spiele- und Multimedia-Programmierung 30
S Probleme mit Thread beim Streaming Spiele- und Multimedia-Programmierung 1
O Ampel - Probleme mit der Farbgebung Spiele- und Multimedia-Programmierung 16
F Probleme bei Bewegung Spiele- und Multimedia-Programmierung 7
P Probleme mit Vista und JOGL Spiele- und Multimedia-Programmierung 2
P Probleme mit Wolkenbewegung Spiele- und Multimedia-Programmierung 5
W Probleme mit dem setTextureCoordinate Spiele- und Multimedia-Programmierung 3
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
S Probleme mit dem Licht und dem KeyListener Spiele- und Multimedia-Programmierung 2
L Probleme Bei Pong Programmierung Spiele- und Multimedia-Programmierung 2
D Probleme bei ATI Karten bekannt? Spiele- und Multimedia-Programmierung 4
H Probleme bei Rotation Spiele- und Multimedia-Programmierung 9
X Probleme. Spiele- und Multimedia-Programmierung 2
F Probleme mit selbsterstelltem transparenten PNG Spiele- und Multimedia-Programmierung 5
S probleme mit material Spiele- und Multimedia-Programmierung 2
W Probleme beim entfernen von Childs im HauptSceneGraph Spiele- und Multimedia-Programmierung 8
N Pong - noch 2 kleinere Probleme Spiele- und Multimedia-Programmierung 16
M Probleme mit WaveFront-Object - Datei Spiele- und Multimedia-Programmierung 7
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
D Gomoku --- Probleme bei Instanzierung Spiele- und Multimedia-Programmierung 2
G Probleme beim installieren java 3d linux Spiele- und Multimedia-Programmierung 4
G Sound Probleme Spiele- und Multimedia-Programmierung 2
S Probleme mit Canvas! Spiele- und Multimedia-Programmierung 2
S Jump'n'Run: Probleme mit Kollision Spiele- und Multimedia-Programmierung 13
C Probleme mit Java3D (sun.awt.DrawingSurface) in Java 5 Spiele- und Multimedia-Programmierung 10
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
N Probleme mit View Spiele- und Multimedia-Programmierung 3
L Kollisionserkennung und -behandlung Spiele- und Multimedia-Programmierung 3
N Kollisionserkennung Spiele- und Multimedia-Programmierung 5
BraunBerry Java Game verbesserte Kollisionserkennung Spiele- und Multimedia-Programmierung 18
Cromewell JavaFX Kollisionserkennung Spiele- und Multimedia-Programmierung 6
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
S Kollisionserkennung in Slick2D... Mal wieder Spiele- und Multimedia-Programmierung 4
C Java Kollisionserkennung Spiele- und Multimedia-Programmierung 4
Androbin Pixel-genaue Kollisionserkennung Spiele- und Multimedia-Programmierung 5
Kenan89 Kollisionserkennung - Idee Spiele- und Multimedia-Programmierung 5
T Kollisionserkennung mit AABBs und Spielerobjekt Spiele- und Multimedia-Programmierung 4
P Kollisionserkennung Spiele- und Multimedia-Programmierung 6
R Java3D Kollisionserkennung und Schwerkraft Spiele- und Multimedia-Programmierung 17
Apo Kollisionserkennung bei Jump'n'Run Spiele- und Multimedia-Programmierung 69
B Kollisionserkennung bei gezeichneten Objekten Spiele- und Multimedia-Programmierung 2
M Kollisionserkennung optimieren Spiele- und Multimedia-Programmierung 7
M Kollisionserkennung Spiele- und Multimedia-Programmierung 4
P Kollisionserkennung Spiele- und Multimedia-Programmierung 3
R Kollisionserkennung funktioniert nicht Spiele- und Multimedia-Programmierung 3
C Kollisionserkennung Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben