JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Entwicklungsfrage....

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Pizzabroetchen
Junior JLI'ler



Anmeldedatum: 29.02.2004
Beiträge: 55

Medaillen: Keine

BeitragVerfasst am: 29.03.2004, 18:01    Titel: Entwicklungsfrage.... Antworten mit Zitat

Hallo zusammen!

Ich habe vor ein Spiel zu proggen, das auf dem Prinzip von Space Crusade basiert (wenn das einer kennt).Für die die es nicht kennen:
Man steuert einen Trupp Space MArines durch Raumschiffe und muss Aufträge erfüllen.das ganze läuft in der Vogelperspektive ab und um das Raumschiff darzustellen, wollte ich Bodenplatten (wie ein Schachbrett ect.) anlegen.
Nun meine Frage: Würdet ihr für jede Bodenplatte ein einzelnes Sprite anlegen(welches dann die Wände bzw Bodenplatten anzeigt) oder gibt es ne bessere Methode, da ich ja bei einem Spielfeld von beispielsweise 25*25 Feldern --> 625 Felder bzw Sprites hätte. Und ich weiss nicht wie sehr das die Performance nach unten drückt

Vielen dank im vorraus Very Happy

Mfg
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: 29.03.2004, 18:13    Titel: Antworten mit Zitat

Dafür gibts schon nen Begriff: Tile Engine. Du lädst jede Grafik einmal und jede einzelne bekommt eine Nummer. In deinem Map-Array schreibst du dann, welches Tile an welcher Stelle dargestellt werden soll. In einer Schleife kannst du dann erst deine Map rendern und hinterher die Spielfiguren drauf plazieren.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 29.03.2004, 18:15    Titel: Antworten mit Zitat

ich würd das so machen: du hast nen 2D Array(ind eienm Fall Array[25][25]) in dem abgespeichert ist welches teil auf diese fläche kommt. dann würd ich mit ner forschleife die betreffenden tiles in die betreffenden flächen einer surface zu rendern. wenn du dann die map renderst renderst du einfahch nur die zuvor generierte "map-surface".
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 29.03.2004, 18:16    Titel: Antworten mit Zitat

dieser schufft war 2mins chnelelr als ich *grrrgrrrr*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Pizzabroetchen
Junior JLI'ler



Anmeldedatum: 29.02.2004
Beiträge: 55

Medaillen: Keine

BeitragVerfasst am: 29.03.2004, 19:05    Titel: Antworten mit Zitat

danke schön das hilft mir schon mal sehr weiter.......werde mal schauen ob ich's so hinbekomme
ansonsten frage ich nochmal Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Pizzabroetchen
Junior JLI'ler



Anmeldedatum: 29.02.2004
Beiträge: 55

Medaillen: Keine

BeitragVerfasst am: 29.03.2004, 21:27    Titel: Antworten mit Zitat

habe da direkt noch ne frage.........soweit funktioniert das jetzt, ich habe nur folgendes dummes Problem:
void CDirect3D::addBoden (char FILE[25])
{
RECT rect = {x,y,x+32,y+32};
D3DXLoadSurfaceFromFile(m_Spielfeld, l
NULL,
&rect,
FILE,
NULL,
D3DX_FILTER_NONE,
0,
NULL);
}

im Char File sollte jetzt eiegntlich der Dateiname an die Funktion gegeben werden, doch wenn ich das prog ausführe, bleibt der Bildschirm schwarz
wenn ich das mit #define FILE "Boden1.png" z.b mache klappt es aber
wodran liegt das denn?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 29.03.2004, 21:41    Titel: Antworten mit Zitat

So: !?

void CDirect3D::addBoden (const char *file)
{
RECT rect = {x,y,x+32,y+32};
D3DXLoadSurfaceFromFile(m_Spielfeld, l
NULL,
&rect,
file,
NULL,
D3DX_FILTER_NONE,
0,
NULL);
}
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pizzabroetchen
Junior JLI'ler



Anmeldedatum: 29.02.2004
Beiträge: 55

Medaillen: Keine

BeitragVerfasst am: 30.03.2004, 17:53    Titel: Antworten mit Zitat

danke für den tip...es klappt nun
habe leider nun wieder ein prob Embarassed

void CDirect3D::Boden(void)
{
RECT r = {0,0,32,32};
RECT rr = {100,100,612,132};
m_lpD3DDevice->StretchRect(m_TexturenLager,
&r,
m_Spielfeld,
&rr,
D3DTEXF_NONE);


}

in der Oberfläche werden alle Texturen gespeichert die ich brauche.in der Oberfläche Spielfeld wird das Spielfeld zusammengesetzt.eine Textur hat die größe 32*32. wenn ich nun aus der Texturoberfläche eine Textur in die Oberfläche Spielfeld kopiere passiert folgendes:
Sobald ich als zweiten Parameter NULL angebe kopiert er ordnungsgemäß
alle Texturen in die Oberfläche Spielfeld.Sobald ich aber als PArameter &r angebe um nur eine Textur zu kopieren,bleibt der Schirm schwarz,er hat also nix kopiert
Habe echt keinen lan wieso der das nicht macht

Mfg
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 30.03.2004, 19:57    Titel: Antworten mit Zitat

Debugge mal und steppe durch, dann schau mal was im Rect gespeichert wurde. Meistens ist das dann nur ein dummer kleiner Wertefehler.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pizzabroetchen
Junior JLI'ler



Anmeldedatum: 29.02.2004
Beiträge: 55

Medaillen: Keine

BeitragVerfasst am: 31.03.2004, 04:50    Titel: Antworten mit Zitat

ja habe den fehler gefunden Twisted Evil

so die grafische oberfläche vom leveleditor steht - endlich Rolling Eyes
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 -> Fragen, Antworten und Kritik 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