 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 14:57 Titel: Array |
|
|
hi,
ich möchte gerne alle Texturen Namen in einen array packen und per for schleife auslesen...
nur irgendwie krieg ich die doofen texturen nicht in den array, was mach ich falsch ?
Code: |
char texturen[] = {"baumstamm1", "baumstamm2"};
for (int i = 0; i < sizeof(texturen); i++)
{
texturen[i]; // hier muss natürlich was anderes hin, nur als bsp gedacht
}
|
_________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.11.2002, 15:21 Titel: |
|
|
Hallo,
es sollte
char* texturen[] = {"baumstamm1", "baumstamm2"};
heissen, aber wieviele Elemente das Array hat, kannst du nicht rausbekommen. Da muss du mitzählen, dann wäre eine Klasse hübsch oder
du nimmst std::vector aus der STL.
Christian |
|
Nach oben |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 12.11.2002, 15:25 Titel: |
|
|
kann man nicht:
anzahl_elemente = sizeof(texturen)/sizeof(texturen[0]);
? |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.11.2002, 15:36 Titel: |
|
|
Hallo,
ja klar, habe irgendwie geschlafen
Kampfhund hat recht. |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:00 Titel: |
|
|
thx _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:15 Titel: |
|
|
son scheiss ....
ich wollt das folgendermaßen machen, aber das geht net
Code: |
char* textur[] = {"Mitte1", "Mitte2", "Gras_Rechts_Oben",
"Gras_Links_Oben", "Gras_Rechts1", "Gras_Rechts2", "Gras_Links1",
"Gras_Links2", "Palme1", "Palme2", "Palme3", "Blume1", "Gras",
"Blume2", "Blume3", "Blume4", "Blume5", "Feder_Links", "Feder_Hoch",
"Feder_Rechts", "Gras_Anstieg_1_Links", "Gras_Anstieg_1_Rechts",
"Gras_Anstieg_2_Links", "Gras_Anstieg_2_Rechts", "Gras_Senkung_1",
"Gras_Rampe_Links_1", "Gras_Anstieg_1_Links2", "Gras_Rampe_Rechts_1",
"Gras_Anstieg_1_Rechts2", "Gras_Anstieg_2_Links2", "Gras_Anstieg_2_Rechts2",
"Gras_Senkung_2", "Gras_Links1", "Gras_Links_Oben", "Gras_Links2",
"Gras_Rechts1", "Gras_Rechts_Oben", "Gras_Rechts2", "Bruecke1",
"Wasser1", "Berge1", "Bruecke_Punkt", "Stacheln1", "Stacheln2"}; |
Code: |
for (int i = 12; i < 105; i++)
{
if (spielfeld1[y][x] == i)
{
textur[i].SetXY(StoneX, StoneY);
textur[i].Draw(lpDDSBackBuffer);
}
}
|
aber er sagt mir das vor .setxy nix is u.s.w.
wie kann ich das lösen, ich hab wirklich kein bock die 105 texturen mit if abzufragen udn zu blitten _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:19 Titel: |
|
|
hm, ist textur[i] jetzt die textur selber oder nur der name? |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:25 Titel: |
|
|
so heist das Sprite Objekt... _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:27 Titel: |
|
|
textur[0] ist Mitte1
Mitte1.SetXY(blabla
geht ja...
nur halt mit textur[i] nicht _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:44 Titel: |
|
|
ja, aber textur[0] ist ja nur der name und nicht das spriteobjekt selber.
hast du für jedes sprite eine eigene instanz der Sprite klasse angelegt?
also für
"mitte1": Mitte1
"mitte2": Mitte2
... : ...
?
weil dann klappts nicht.
erstell doch am besten zwei arrays.
das eine mit dem namen der textur und das andere mit der textur selber, also dem sprite objekt.
Sprite *SpriteArray;
char *SpriteNameArray[105];
dann kannst du die arrays durchlaufen.
wenn du alle blitten willst, durchläufst du einfach SpriteArray und blittest jedes einzelne sprite, wenn du ein bestimmtes sprite blitten willst, dann suchst du im SpriteNameArray nach dem namen des zu blittenden sprites.
Wenn es gefunden wurde blittest du aus SpriteArray das sprite mit der nummer an der der name im SpriteNameArray war. |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 16:55 Titel: |
|
|
hä?
ich wollte eigendlich die ganzen objekte in den Array drin haben , sind sie doch oder net ? _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 12.11.2002, 17:03 Titel: |
|
|
also im array stehen jetzt soweit ich weiß nur die namen und nicht die objekte selber. |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 17:04 Titel: |
|
|
die namen und die objekte sind identisch ... _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 12.11.2002, 17:49 Titel: |
|
|
hm, hab ich jetzt geschlafen?
ist in dem post wo du die texturen aufgelistet hast
char* texture[] = {"mitte1", "...", ... }
das gleiche array wie das, was du auch in der schleife verwendet hast,
also textur[i].SetXY(...); ?
wenn ja:
du hast doch textur als:
char *textur[]={...}
definiert.
dh, du kannst mit textur[i] nur auf die namen zugreifen.
du kannst dann nicht schreiben textur[i].setxy(), dazu muss das array ja vom typ SpriteObjekt sein und nicht char*. |
|
Nach oben |
|
 |
DarK Super JLI'ler

Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 12.11.2002, 17:55 Titel: |
|
|
also :
anstatt "char" "sprite" ? _________________ "Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."
"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."
"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun" |
|
Nach oben |
|
 |
|
|
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
|