Jump'n'Run: Probleme mit Kollision

Status
Nicht offen für weitere Antworten.

Soleil83

Mitglied
Hallo,
wir haben als Softwareprojekt ein Jump'n'Run Spiel entwickelt und es funktioniert bis jetzt auch schon alles recht gut. Es gibt nun ein Problem mit den Gegnern: Wenn die Spielfigur gegen so nen Gegner rennt, dann erkennt das Programm noch nicht, dass es nur einmal getroffen sein soll. So wird nämlich gleich die ganze Energie abgezogen, da die Kollision zu oft hintereinander durchgeführt wird. Wie kann ich der Spielfigur sagen, wenn du einmal gegen so einen Gegner rennst, dann wird dir auch erst mal nur 1mal Energie abgezogen?! Wäre cool, wenn Ihr mir einen Tipp geben könntet.
Liebe Grüße, Soleil
 

Reality

Top Contributor
Mach´s doch so wie in anderen Andventures:
Der Spieler ist nach einer Kollision für eine Weile unverwundbar.

Liebe Grüße
Reality
 

0xdeadbeef

Top Contributor
Wohl eher 200-300ms. 1500ms sind eine halbe Ewigkeit. Kommt natürlich auch auf's Spieltempo usw. an.

Andere Möglichkeit: bei Kollisionserkennung erneute Kollisionserkennung sperren, bis die Figur wieder frei ist (also N mal keine Kollision erkannt wurde).
 

Soleil83

Mitglied
okay... rein theoretisch weiß ich ja wie ihr das meint. aber bräuchte irgendwie ein beispiel wo das so gemacht wurde. wie sperrt mann denn eine kollision für 300 ms?
 
B

Beni

Gast
Du speicherst bei einer Kollision die Zeit, und machst dann eine nette if-Abfrage um die Kollisionserkennung.

Als Pseudocode sieht das so aus:
Code:
public class Kollision{
  private long time = 0;
  private long delta = 300;

  public boolean isKollision( Player player, Wall wall ){
    long current = System.currentTimeMillis();

    if( current > time + delta ){
      if( {... kollision ...} ){
         time = current;
         return true;
      }
    }
    return false;
  }
}
 

Hansdampf

Bekanntes Mitglied
Code:
long lastCollisiontime;
long t(){return Sytem.getCurrentTimeMillis();}

void checkCollision(){
if(t()-lastCollisionTime>300){
performCollision();
lastCollisionTime=t();
}
}
edit: oops, da war einer schneller
 

Soleil83

Mitglied
so, vielen dank für den pseudo-code. hab mal versucht, dass auf unsere klassen anzuwenden aber bis jetzt ist es mir noch nicht gelungen. kann euch vielleicht noch ma meine kollisionsabfrage schicken
Code:
// Kollision wird aufgerufen und Energie abgezogen


if( elemente.get(k) instanceof Gegner )
{
   ((Gegner)elemente.get(k)).autoMove(this);
				
   if(((Gegner)elemente.get(k)).kollidiertMit(fred))					
   derZaehler.sammeltEnergie(-2);
}


//Kollisionsmethode an sich:
public boolean kollidiertMit(PositionierbaresElement derAndere)
{
   if(   (
	 this.getXPos()+28 >=  derAndere.getXPos() 
	&&
	this.getXPos()-28 <=  derAndere.getXPos() 
	) 
	&&
         (
         this.getYPos()+28 >=  derAndere.getYPos() 
	&&
	this.getYPos()-28 <=  derAndere.getYPos() 
         )		
	)
	return true;
	else
	return false;
	}
}

wenn ihr mir so vielleicht schnelle helfen könnt, als ich jetzt die fehler suche, wär das geil[/code]
 
G

Guest

Gast
Code:
if( elemente.get(k) instanceof Gegner )
{
   ((Gegner)elemente.get(k)).autoMove(this);
            
   if(((Gegner)elemente.get(k)).kollidiertMit(fred))               
   derZaehler.sammeltEnergie(-2);
}


private long lastCollisiontime;
private static long t(){return Sytem.getCurrentTimeMillis();}

public boolean kollidiertMit(PositionierbaresElement derAndere)
{
if(t()-lastCollisionTime<300)return false;

boolean kollision=getXPos()+28 >=  derAndere.getXPos()&&getXPos()-28 <=  derAndere.getXPos() && getYPos()+28 >=  derAndere.getYPos() && getYPos()-28 <=  derAndere.getYPos();

if(kollision)lastCollisionTime=t();
return kollision;
}
}

bis auf Tippfehler müsste es gehen
 

Reality

Top Contributor
foobar hat gesagt.:
Gute Idee :)
Wird das in kommerziellen Spielen auch so gehandhabt?
Ja, du kennst es doch sicher, wenn eine Figur auf einen Gegner trifft und er anfängt so halbtransparent zu blinken. Während dieser Zeit ist er unverwundbar.

Liebe Grüße
Reality
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Mein Jump and Run charakter bewegt sich nicht mehr rückwärts... Spiele- und Multimedia-Programmierung 0
E Möchte Jump and Run programmieren Spiele- und Multimedia-Programmierung 2
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
F Jump'n Run Background wiederholen Spiele- und Multimedia-Programmierung 3
E Java Jump and Run Map zu groß Spiele- und Multimedia-Programmierung 14
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
C Doodle Jump Sprung Physik? Spiele- und Multimedia-Programmierung 4
M Jump 'n' Run Game - Blöcke? Spiele- und Multimedia-Programmierung 7
N Problem mit Kollisionsabfrage beim Fallen Jump & Run Spiele- und Multimedia-Programmierung 5
M Empfehlungen für ein 2D-Jump'n'run Spiele- und Multimedia-Programmierung 4
W Doodle Jump Spiele- und Multimedia-Programmierung 6
H Jump&Run Tutorial Spiele- und Multimedia-Programmierung 3
D Jump'n'run Kollision bei Blöcken Spiele- und Multimedia-Programmierung 10
K Jump'N'Run Hügel Spiele- und Multimedia-Programmierung 11
T Jump and Run - Unklarheiten Spiele- und Multimedia-Programmierung 5
Arcus Jump and Run etwas komplizierter - Benötige Starthilfe Spiele- und Multimedia-Programmierung 12
T Ist meine Jump and Run Engine zu genau? Spiele- und Multimedia-Programmierung 4
N Grundlagen für ein Jump&Run Spiele- und Multimedia-Programmierung 3
F "Doodle Jump" Projekt Spiele- und Multimedia-Programmierung 8
U Jump n' Run 2D Geometrie und Kollisionsabfrage? Spiele- und Multimedia-Programmierung 11
L Jump-n-Run Auslastung verringern Spiele- und Multimedia-Programmierung 16
Apo Kollisionserkennung bei Jump'n'Run Spiele- und Multimedia-Programmierung 69
F jump and run idee Spiele- und Multimedia-Programmierung 2
T Umsetzung eines 2D Jump and Runs Spiele- und Multimedia-Programmierung 7
K Jump n Run Keylistener und Schleifen Spiele- und Multimedia-Programmierung 8
F DJADD Jump and Run Spiele- und Multimedia-Programmierung 10
D Jump 'n run die 2. [spielerbewegen mit zeit] Spiele- und Multimedia-Programmierung 6
D Jump and Run Game -- Kollisionsabfrage Spiele- und Multimedia-Programmierung 30
S Kollisionsprob bei Jump&Run Spiele- und Multimedia-Programmierung 9
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
E Probleme mit Kollisionserkennung ! 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

Ähnliche Java Themen

Neue Themen


Oben