JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

nochmal std::map für Lichter

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:25    Titel: nochmal std::map für Lichter Antworten mit Zitat

Ich will mit einer map<char*, D3DLIGHT9> die Lichter in einem Spiel verwalten. Allerdings soll man mit einer Methode CDirect3D::SwitchLight(char* LightName, bool State) eine Lampe umschalten können. Für IDirect3DDevice9::LightEnable() braucht man aber den Index des Lichtes. Wenn die Lichter in die map hinzugefügt werden, werden sie auch gleichzeitig mit SetLight() zum Device hinzugefügt, die Stelle in der Map entspricht also dem Index des Lichtes im Device. Wie kann ich denn jetzt, anhand des Namens, den Index des Lichtes in der map herausfinden???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:28    Titel: Antworten mit Zitat

- Hier stand mal Blödsinn -
[EDIT]
Speicher doch structs die alle nötigen Daten enthalten anstatt nur einen Zeiger auf das Licht.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R


Zuletzt bearbeitet von Hazel am 22.07.2003, 12:29, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:29    Titel: Antworten mit Zitat

Die Idee hatte ich schon, mache ich das am besten mit einem vector?
[edit]
Mein Problem war ja, dass ich den Index des Lichtes brauche
[/edit]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:31    Titel: Antworten mit Zitat

Was für ein Container für dich am besten ist musst du dir überlegen... Wenn du auf die Lichter per Index zugreifen willst würde ich einen Vektor nehmen. Wenn du per Name darauf zugreifen möchtest würde ich eine map nehmen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:32    Titel: Antworten mit Zitat

Ich habe ja die Lichter in einer Map: std::map<char*, D3DLIGHT9> (kein Zeiger, sondern die Struktur direkt). Gibt es keine Möglichkeit, den Index in der map mit dem Namen herauszufinden?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:32    Titel: Antworten mit Zitat

Du kannst doch auch den Index als Schlüssel nehmen und den Namen ganz weglassen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:35    Titel: Antworten mit Zitat

Ja, aber mit einem Namen sind die Lichter besser zu identifizieren. Allerdings soll das vielleicht später alles automatisch laufen, wenn ein Level aus einer Datei geladen wird, dann sieht kein Mensch, wie die Lichter heissen. Vielleicht mache ich aber noch einen Leveleditor (ich hab mir viel vorgenommen Smile) dann wär es praktisch, Lampen einen Namen geben zu können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 22.07.2003, 12:48    Titel: Antworten mit Zitat

Ich kenne das D3DLIGHT Interface nicht. Wenn der Index da drin gespeichert wird oder es eine Funktion gibt, mit der man den rausfinden kann geht das natürlich. Wenn man sich den Index allerdings selber merken muss dann nicht. Naja, ist weniger ein STL Problem als ein DirectX Problem also überlass ich das mal den Leutchen, die sich mit auskennen. ;) Nu bin ich weg!
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
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 -> DirectX, OpenGL 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