Tilesets in 61x61 wieso geht das nicht
Übersicht

JohnnyBetreff: Tilesets in 61x61 wieso geht das nicht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Tilesets in 61x61 wieso geht das nicht, das ist doch egal wie groß die tilesets sind.
wieso ist sowas nicht möglich ? Bitte um schnelle antwort !! Danke |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
/EDIT
Häää?!? Warum soll das denn nicht möglich sein? Ist bestimmt nur ein kleiner Fehler im Code... Zeig mal, dann kann dir auch geholfen werden. Habe mal ein Beweisbeispiel mit 61er Tiles per Rect geproggt, und es funzte wunderbar! Ausserdem: Wie kommt man auch eine solche 'ungünstige' Zahl von 61 für Ziles? |
||
JohnnyBetreff: Das ist das erste tutorial |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
;CODE ZUM ERSTELLEN EINER TILEMAP
;-------------------------------- ;Mit diesem code solltet ihr ruhig ein bischen rumexperimentieren, ;damit ihr ihn versteht. ;das sollte eigendlich jeder wissen! Graphics 1024,768,16,1 ;läd das tileset, wobei jedes tile 32*32 pixel groß ist und das höchst tile ist nr.4, ;obwohl dort (,5) heißt das nur die anzahl der tiles von 0 an tileset = LoadAnimImage("tileset2.bmp",61,61,0,5) ;diese function legt eine array mit zwei Werten an, also können in dieser array 2 variablen ;mit dem maximalwert 20 gespeichert werden. Dim map(20,20) ;diese function ist ein ganz alter hut, einfach die map in ein datenfeld speichern, ;das ist leider sehr mühsam, wenn man karten mit den maßen 200*32 tiles anlegen möchte ;Legende: ; 0 = wiese ; 1 = wasser ; 2 = feuer ; 3 = erde ; 4 = feld ;ihr könnt die karte natürlich nach belieben verändern Data 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 0,0,0,0,1,1,1,3,3,1,1,1,1,1,4,4,1,1,1,1,1 Data 0,0,0,0,1,1,1,3,3,1,1,1,1,1,4,4,1,1,1,1,1 Data 0,0,0,0,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,2,2,1,1,1,1,3,3,3,1,4,4,1,1 Data 1,1,1,1,0,0,1,1,1,1,1,1,1,3,3,3,1,4,4,1,1 Data 1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1 Data 1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1 Data 1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 Data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;diese function ist ganz einfach, in den for-next-schleifen wird die größe ;der map angegeben For y = 0 To 20 For x = 0 To 20 ;Read liest das datenfeld ein und speichert es in der array map(20=y,20=x) Read map(x,y) Next Next ;die hauptschleife und die vorbereitungen werden getrofen, ich benutze immer diesen anfang Repeat ;Den Backbuffer setzen SetBuffer BackBuffer() ;Wird in den nächsten lektionen nicht mehr nötig sein Cls ;ESC-Taste zum Beenden If KeyDown(1) Then End ;diese function malt die karte wieder in einer for-next-schleife ;aber diesmal ist die karte ja schon eingelesen also müssen wir sie ausgeben, ;wir wollen sie ja schließlich sichtbar machen. ;das *32 heißt, dass die tiles in den abständen von 32*32 pixel gesetzt werden. For y = 0 To 20 For x = 0 To 20 DrawImage tileset,x*61,y*61,map(x,y) Next Next ;flippen und zum anfang zurück Flip |
||
Johnny |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
er sagt bei mir "not enoigh Frames in bitmap"
soll das sowas heissen wie das sind keine Bilder ??? habe das nicht mit ein tileset maker gemacht! macht das was ? |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
zeig mal das Bild. Ich schätze da sind keine 5 Bilder drin.
Zum Überprüfen: Die Höhe mal die Breite des Bildes in zB Paint muss mindestens 18.605 Pixel betragen!!! MfG D2006 |
||
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 |
Johnny |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
die masse das bild datei ist 244 x 61 | ||
Johnny |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
juhu gabe die größer erhöt wie wird das berechnet ?
da die vorige bilddatei sogar kleiner war ! |
||
Johnny |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok mehr muss ich nicht wissen thx | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
...@Johnny...
Falls die Komentare in diesem Code von dir sein sollten, dann solltest du dir nochmal die Funktionsweise eines Dim-Arrays anschauen. Dim map(20,20) kann NICHT zwei Variablen mit den Maximalwert von 20 speichern, sondern 441 Variablen in folgendem Wertebereich von -2147483648 bis +2147483647 !!! Dim map(20,20) legt also ein zweidimensionales Array an von jeweils 0-20 Integerwerten (Kann durch folgendes auch geändert werden: #-Fließkomma, %-Integer 'Standard', $-String). Also wie ein Matheheft mit 5*5mm Quadraten wo in jedem eine Zahle eingetragen werden kann. Daher sollte das Anlegen von mehrdimensionalen oder großen Array Abstand gehalten werden, da die Speicherbereiche schnell sehr groß werden können. (20,20) ist allerdings nicht erwähnenswert. |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es ist empfehlenswert stat 61 lieber 64 Pixel als Tile Größe zu nehmen. Diese Größe läßt sich gut teilen für verschiedene Berechnungen und wenn es um Texturen geht ist es unter Umständen auch günstiger. | ||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin Fan von 32x32 oder gar 16x16 tiles. | ||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
Surat |
![]() Antworten mit Zitat ![]() |
---|---|---|
@hectic
ne,ne die kommentare sind nicht von ihm, sondern wohl eher vom blitzmaster-tut |
||
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)
AZUON-Beyond the dark life (2%) SOULS OF DESTINY (23%) |
![]() |
sunny |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm mal 20 * 61 und vergleiche das Ergebnis dann mit der Breite der gewählten Auflösung (hier 1024)
Dann weißt du schon mal, warum es auf keinen Fall klappen kann Les mdir am besten das Tutorial von dem du den Code verändert hast ein paar mal durch, denn du bist nicht der einzige der mehrere Anläufe braucht. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group