JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=573732ea23d20aec4191fff900dc4bb9Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem beim Aufruf einer Methode

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Leviathan
Mini JLI'ler


Alter: 49
Anmeldedatum: 12.01.2005
Beiträge: 31
Wohnort: S9
Medaillen: Keine

BeitragVerfasst am: 18.08.2005, 06:32    Titel: Problem beim Aufruf einer Methode Antworten mit Zitat

Hi!

Ich habe folgendes Problem. Ich verwende zwei Listen mit Sprites:
Code:
list<CSprite>      m_ShotsList;
list<CSprite>      m_AsteroidList;


Nun überprüfeich in einer Schleife eine mögliche Kollision einzelner Elemente der ersten Liste mit allen Elementen der zweiten.
Code:


   list<CSprite>      ::iterator it;
   list<CSprite>      ::iterator jt;

   for (it=m_AsteroidList.begin();it!=m_AsteroidList.end();it++)
   {
      for (jt=m_ShotsList.begin();jt!=m_ShotsList.end();jt++)
      {

         if (it->testCollision(???))
         {
             // tue was...
         }
      }
   }


Die "testCollision" Methode der Sprite Klasse sieht aber folgendermaßen aus:
Code:

bool testCollision(CSprite* otherSprite);


Wie soll ich denn die 3 Fragezeichen nun ersetzen, damit ich keine Compilerfehler bekomme?

mfg
Levi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dragon
Super JLI'ler


Alter: 38
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 18.08.2005, 11:09    Titel: Antworten mit Zitat

erstmal würde ich die schleife ändern, weil so wie du sie zur zeit hast, kommt jede kollision zweimal vor. Vieleicht ist es erwünscht aber wenn das Object dann fehlt, dann fehlt die Kollision mit dem anderen Sprite (Ich hatte mal das Problem).

Edit: Sorry, ich hätte mir deinen Code richtig anschauen sollen. Das was ich oben geschrieben habe ist Schwachsinn.

CPP:
bool testCollision(CSprite& otherSprite);

Referenz ist besser meines erachtens, wirst du später sehen Wink

Die Schleife würde ich so abändern:
CPP:
   for (it=m_AsteroidList.begin();it!=m_AsteroidList.end();it++)
   {
      for (jt=m_ShotsList.begin();jt!=m_ShotsList.end();jt++)
      {

         if (it->testCollision(*it)) //Jetzt ist der Aufruf ganz einfach 
         {
             // tue was...
         }
      }

_________________
Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 18.08.2005, 11:38    Titel: Antworten mit Zitat

Aaaber '*jt', sonst prüfst du ja auf die Kollision mit sich selbst Wink
CPP:
if (it->testCollision(*jt)) //Jetzt ist der Aufruf ganz einfach 
{
    // tue was...
}

_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dragon
Super JLI'ler


Alter: 38
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 18.08.2005, 12:21    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:
Aaaber '*jt', sonst prüfst du ja auf die Kollision mit sich selbst Wink
CPP:
if (it->testCollision(*jt)) //Jetzt ist der Aufruf ganz einfach 
{
    // tue was...
}

stimmt Wink naja ich war halt noch nicht richtig wach wo ich geantwortet habe
_________________
Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Leviathan
Mini JLI'ler


Alter: 49
Anmeldedatum: 12.01.2005
Beiträge: 31
Wohnort: S9
Medaillen: Keine

BeitragVerfasst am: 18.08.2005, 12:52    Titel: Antworten mit Zitat

Danke! Hat geholfen!

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum