JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Array
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 15:57    Titel: Array Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 16:21    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 16:25    Titel: Antworten mit Zitat

kann man nicht:

anzahl_elemente = sizeof(texturen)/sizeof(texturen[0]);

?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 16:36    Titel: Antworten mit Zitat

Hallo,

ja klar, habe irgendwie geschlafen Rolling Eyes
Kampfhund hat recht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:15    Titel: Antworten mit Zitat

son scheiss ....
ich wollt das folgendermaßen machen, aber das geht net Sad

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:19    Titel: Antworten mit Zitat

hm, ist textur[i] jetzt die textur selber oder nur der name?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:25    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:27    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:44    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 17:55    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 18:03    Titel: Antworten mit Zitat

also im array stehen jetzt soweit ich weiß nur die namen und nicht die objekte selber.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 18:04    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Kampfhund
Super JLI'ler


Alter: 41
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 18:49    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 12.11.2002, 18:55    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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