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
|
Verfasst am: 22.07.2003, 11:25 Titel: nochmal std::map für Lichter |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:28 Titel: |
|
|
- 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, 11:29, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:29 Titel: |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:31 Titel: |
|
|
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 |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:32 Titel: |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:32 Titel: |
|
|
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 |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:35 Titel: |
|
|
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 ) dann wär es praktisch, Lampen einen Namen geben zu können. |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 22.07.2003, 11:48 Titel: |
|
|
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 |
|
|
|