JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

tile maps
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 22.09.2006, 20:31    Titel: tile maps Antworten mit Zitat

Hallo kennt jemand ein gutes tut wo beschrieben wird wie das genau mit den tilemaps funktioniert
ich habe darüber noch nicht viel gefunden

oder eine andere möglichkeit maps für ein 2D spiel zu erstellen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 22.09.2006, 23:03    Titel: Antworten mit Zitat

Das Zauberwort ist 'seamless'.

Hier ein paar Google-Ergebnisse.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 22.09.2006, 23:21    Titel: Antworten mit Zitat

Ja, du musst deine Frage schon genauer stellen, ich schätze mal du wolltest die programmierung wissen und nicht wie man kachelbare tiles erstellt, oder?

Also, rein porgrammiertechnisch sind Tilemaps doch eignelihc das einfachste, was man machen kann. Ein 2 dimensionales Array einer Struktur die Informationen speichert. Also z.b. was für Bild dargestellt wird, ob Kollision stattfindet usw.
Wo genau ist das Problem? Die Theorie ist doch eignelihc simpel und die Implementation nicht viel schwieriger.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 23.09.2006, 00:29    Titel: Antworten mit Zitat

nunja ich kenne mich mit tiles überhaupt nicht aus ich weiss eben nur dass man damit 2D maps erstellen kann gibt es vieleicht ein beispielprojekt oder sowas wie man die map erstellt und wieder ausliest also rendert
gibt es bei directx bestimmte funktionen zu tiles
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 23.09.2006, 08:32    Titel: Antworten mit Zitat

nein.
Das ganze ist quasi so Elementar, das man keine Funktionen oder so dafür braucht.
Ok, ich zeigs dir mal gerade:
CPP:
//die struktur
struct Tile
{
 Textur Bild;
 bool Kollision;
}

//die Tilemap
Tile[20][30] Tilemap;

//rendern
for(int x=0; x< 20; ++x)
{
 for(int y=0; y<30; ++y)
 {
   Render(Tilemap[x][y].Bild, x*32, y*32);//32 ist die größe eines Tiles
 }
}

//klicktest, z.b. fürn editor
int MausX, MausY;
MausX/=32;/durch int fallen nachkommastellen weg
MausY/=32;//s.o
Tilemap[MausX][MausY].Bild=AktuellAusgewaehltesBild;


So, Kollision geht ähnlich, musst die halt n bisschen überlegen wie du das machen willst. Am einfachsten ist es natürlich wenn deine Figur nur ganze Tileschritte gehen kann, aber das ist ja doof.
Ansonsten klappt es schon, wenn man die 4 Eckpunkte des Spielersprites jeweils testet, ob die in nem Kollisionsteil drinne sind oder net, aber das kann man sicher noch optimieren.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 24.09.2006, 12:13    Titel: Antworten mit Zitat

naja ich bekomm das irgendwie nicht in den griff im internet findet man auch nicht viel darüber hat vieleicht jemand ein beispielprojekt für eine tilemap
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 24.09.2006, 13:04    Titel: Antworten mit Zitat

Also das man nichts findet stimmt nicht.
http://www.gamedev.net/reference/list.asp?categoryid=44#198

zum beispiel das
http://www.gamedev.net/reference/articles/article1134.asp
http://www.gamedev.net/reference/articles/article1242.asp

Wenn du etwas bestimmtes nicht verstehst, dann beschreib das Problem, damit wir dir weiter helfen können. Aussagen "ich bekomm das irgendwie nicht in den griff" helfen uns und somit dir nicht weiter.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 24.09.2006, 13:47    Titel: Antworten mit Zitat

Ich meine, ich hab dir doch wesentliche Codeteile gezeigt, und die Theorie erklärt, oder? hast du den schon mal versucht das so in der Art umzusetzen?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 24.09.2006, 13:48    Titel: Antworten mit Zitat

Hab schnell was programmiert:
http://virtualmaxim.vi.funpic.de/downloads/tilemap_beispiel.rar
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 24.09.2006, 13:55    Titel: Antworten mit Zitat

Super danke das hilft mir weiter ich konnte mir das nicht so richtig vorstellen wie es funktionieren soll
danke nochmals
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 28.09.2006, 15:55    Titel: Antworten mit Zitat

Hallo ich habe noch ein kleines problem mit der Collision und zwar mach ich das mit der Tilemap wie es Maxim beschrieben hat und mein Player wird über die Spriteklasse geladen nur bekomme ich jetzt keine Collisionserkennung hin und zwar möchte ich einem bestimmten Tile den Boden zuweisen aber das klappt nicht so momentan fällt mir der Spieler nicht nach unten heraus da ich eben die Maximale y Position festgelegt habe wie kann ich das jetzt auf ein Tile übertragen vieleicht könnt ihr mir da einen Tipp geben Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 28.09.2006, 17:26    Titel: Antworten mit Zitat

Hab schnell was programmiert:
http://virtualmaxim.vi.funpic.de/downloads/tilemap_beispiel2.rar

Ist zwar einfach, aber ich glaub das es für den Anfang genau das richtige ist. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 28.09.2006, 19:24    Titel: Antworten mit Zitat

Super Danke
kann ich eigentlich auch jedem Tile eine Eigenschaft zuweisen
und wie kann ich es am einfachsten lösen wenn ich eine eigene Klasse für die Tilemap habe und eine Klasse für den Spieler denn mein Spieler ist animiert und deshalb benutze ich unterschiedliche Draw Funktionen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 28.09.2006, 19:43    Titel: Antworten mit Zitat

Eigenschaften für Tiles kannst du leicht einbauen, indem du anstatt einen Zahl-Array einen Array aus Strukturen erstellst.

CPP:
// nicht so
unsigned int map[10][10];

// sondern

//die struktur
struct Tile
{
 Textur Bild;
 bool Kollision;
 unsigned int Geschwindigkeit; // deine Eigenschaft
}

//die Tilemap
Tile[10][10] Tilemap;



Wenn du jetzt schauen willst ob Tile auf auf der X,Y Position passierbar ist, dann machst du es so:
CPP:
if(Tilemap[y][x].Kollision)
// Kollision


Die Geschwindigkeit kannst du genau so auslesen. Einfach mal probieren.

Zu den Draw-Funktionen: es ist doch kein Problem wenn du mehrere davon hast. Du musst nur schauen, dass du BeginScene und EndScene nur ein mal aufrufst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy-Mad
Mini JLI'ler


Alter: 42
Anmeldedatum: 18.09.2006
Beiträge: 34

Medaillen: Keine

BeitragVerfasst am: 28.09.2006, 22:45    Titel: Antworten mit Zitat

Super dank dir ich habe gedacht dass es unsauber ist mehrere Draw Funktionen zu benutzen ich werde das mit den Tiles mal ausprobieren danke für die Hilfe
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
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