Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 15, 2025 21:02

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Frage zu Bomberman Tutorial Nr. 1
BeitragVerfasst: Sa Dez 10, 2005 20:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Hi.
Also, mein Problem ist das ich nicht verstehe wie die Texturen beim Map Editor an die einzelnen Quads gebunden werden. Ich kann aus irgendwelchen Gründen einfach nicht nachvollziehen was da passiert.
Es wäre nett wenn sich jemand erbarmen würde, und mir das nochmal erklären würde.

Der Einfachheit halber hab ich alle Codeteile die (imho) was damit zu tun haben/haben könnten rausgeschrieben:
Code:
  1.  
  2. [...]
  3. TFieldType = record
  4.  Texture : String;
  5.  FType    : Byte;
  6.  FSpecial: Byte;
  7. end;
  8.  
  9. TTexturemanager = class(TObject)
  10.  Texture        : Array of TglBitmap2D;
  11.  TextureName: THashedStringList;
  12.  [...]
  13.  procedure BindTexture(pTextureName: String);
  14. end;
  15.  
  16. TMap = object
  17.  Playground : Array of Array of TFieldType;
  18.  DefaultFieldtexture: String;
  19.  [...]
  20.  procedure Draw;
  21.  [...]
  22. end;
  23.  
  24. [...]
  25. procedure TTextureManager.BindTexture(pTextureName: String);
  26. begin
  27.  If TextureName.IndexOf(pTextureName) > -1 then
  28.  begin
  29.   glEnable(GL_TEXTURE_2D);
  30.   Texture[TextureName.indexOf(pTextureName)].Bind();
  31.  end
  32.  else
  33.   glDisable(GL_TEXTURE_2D);
  34. end;
  35.  
  36. [...]
  37.  
  38. procedure TMap.Draw;
  39. [...]
  40.  TextureManager.BindTexture(Playground[i, j].Texture);
  41. [...]
  42. end,
  43.  


die Variablen i und j "bescheiben" das Quad bzw. bestimmen es eindeutig...

Normalerweise versteh ich ja wie man Texturen an Quads bindet, aber bei dem Code da oben versteh ich leider nur noch Bahnhof... :cry:


Hoffe das ich alle Teile die was mit dem Texturen binden zu tun haben abgeschrieben hab, und nicht einfach was vergessen...


cya und schonmal Danke im Vorraus,
Deathball


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 10, 2005 20:59 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Wie es scheint ist TTextureMenager eine Klasse, die dazu dient, Texturen zu verwalten. Um eine gewüschte Textur zu benutzen, ruft man die Methode BindTexture( TexName:string ). Anhand des Namens wird die Textur intern in einer Hashtabelle gesuch und, falls es sie gibt, wird die gesuchte Textur gebunden. Jedes Feld hat mit sich eine entsprechende Texturname und am ende sieht das ganze so aus:
Code:
  1. TextureManager.BindTexture(Playground[i, j].Texture);
Hofe, geholfen zu haben.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 12, 2005 15:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Aug 25, 2005 16:00
Beiträge: 189
Programmiersprache: Java, C#
Ok, Verständnistest...

jedes Kästchen der Map besitzt die Eigenschaft Texture, die ein String ist. In diesem String ist der Name der Textur gespeichert, die an das entsprechende Kästchen gebunden werden soll. Somit kann man als pTexturename einfach die Eigenschaft Texture übergeben. Dieser Texturenname wird dann in der HashTabelle gesucht und gebunden.
Wenn jetzt eine neue Textur auf ein Kästchen "geklebt" werden soll, verändert man einfach den Texturennamen.

Hm, sieht so aus als ob ich es in der Theorie verstanden hätte...
Mal schauen ob ich das auch auf andere Dinge übertragen kann...
also, cya und Danke nochma...
Deathball


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]