Tilemap erstellen - wie?
Übersicht

CO2ehemals "SirMO"Betreff: Tilemap erstellen - wie? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich weiß das dieses Thema schon zigtausend mal behandelt worden is, aber ich verstehe partout nicht, wie man den Zahlen in einem Data-Befehl den verschiedenen Tiles zuordnet... würde mich über hilfe freuen |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und ich hab noch nie verstanden, warum man Anfängern den Data-Befehl für sowas beibringt. Den benutzt man nie und schon gar nicht für Tilemaps.
Welche Zahl bei einer Tilemap für welches Tile steht, bestimmst im Grunde genommen du. Du kannst zum Beispiel festlegen, dass 1 Wiese, 2 Wasser und 3 Felsen ist. Beim Zeichnen der Tilemap gehst du dann alle Felder durch und entscheidest anhand der Zahl, welches Bild gezeichnet werden soll. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und das ist das problem... ich habe jtz 27 unterschiedliche tiles, wie bestimme ich, das die zahl 1 z.B.: das 1. Tile zeichnet. Oder die Zahl 25 das 25. tile...? | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Chaos Melone |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst das ganz einfach mit if abfragen^^
BlitzBasic: [AUSKLAPPEN]
Das ist nur wie ich es machen würde, hoffe du verstehst es |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also muss ich dann 27 if-Schleifen machen? | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Chaos Melone |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja du könntest eine For-Next Schleife machen, die jedes Teil abfragt und in dieser Schleife dann 27x If...
Du könntest statt mit If auch mit Select/Case arbeiten. |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay. Du kannst auch deine Tile als Animationsstrip speichern. Alle Tiles nebeneinander. Sie müssen dann aber alle gleich groß sein.
Mit LoadAnimImage kanst du sie dann laden. Dann kannst du sie zB so Anzeigen. DrawImage Tile,x*tilegroesse,y*teilgroesse,Tile(X,Y) Gruß Matz. |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, danke für die antworten, ich glaube ich habs jtz kapiert
1 frage noch: Muss man die Tilemap vor oder in der Repeat-Schleife erstellen? |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstellen natürlich vor der Hauptschleife. Die Bilder werden in ein Array geladen oder alternativ als AnimImage, was aber unter Umständen Probelem bereiten kann. Select und If's die Hülle und die Fülle ist alles sehr "abenteuerlich" wenn mans mal sachte ausdrücken will ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Chaos Melone:
Bitte erzähl nicht sowas. If Abfragen für eine Tilemap... Das ist ja in etwa so schlimm wie die Sache mit Data. @Marius94: Das mit dem LoadanimImage stimmt schon. Am Besten die Tiles in einem Animationsbild speichern und mit loadanimimage laden. Und dann brauchst du auch keine If-Abfragen mehr. Du nimmst, wenn du die Tilemap malst, bei Drawimage als Bild einfach dein Tilestrip und als Frame den Wert den deine Map an dieser Stelle hat. Als Beispiel. Beispielsweise du hast ein Wassertile im Animationsbild an Stelle 5. Und sagen wir dein Tilemaparray hat an (20/15) den Wert 5 dann wird an dieser Stelle das Wassertile gemalt. Im Code sieht das dann so aus: BlitzBasic: [AUSKLAPPEN] For ix = 0 To (mapwidth-1) So funktioniert das in 5 Zeilen. Ohne Select/Case und ohne If. Natürlich musst du die Variablennamen entsprechend anpassen. Lg, M0rgenstern |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok thx nochmal... ich versuche mein glück ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group