Maps erstellen via chipsets

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Freeman

Betreff: Maps erstellen via chipsets

BeitragSo, Dez 14, 2003 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
Ich habe ein Frage bezüglich des Map erstellens mit Hilfe von Chipsetzen (Tilesets ) .

Ich habe da ein kleines Verstehensproblem .
Hier erst mal der Code :

Code: [AUSKLAPPEN]

Graphics 800,600
tile = LoadAnimImage("tileset.bmp",32,32,0,5)


Dim map(5,5)

Data 0,1,0,1,0,1
Data 0,1,0,1,0,1
Data 0,1,0,1,0,1
Data 0,1,0,1,0,1
Data 0,1,0,1,0,1

For x = 0 To 4
For y = 0 To 4
Read map(x,y)
Next:Next

Repeat
SetBuffer BackBuffer()
Cls

If KeyHit(1)
Quit = 1 : EndIf

For x = 0 To 4
For y = 0 To 4
DrawImage tile , x*32,y*32,map(x,y)
Next:Next

Flip
Until quit = 1 



Eigentlich müsste die Map ja wie ein paar Spalten aussehen, das tut sie aber nicht. Sie sieht wie ein Schachbrett aus. Das versteh ich nicht......könnte wer mir das etwas näher bringen ?
Außerdem bekomm ich regelmäßog irgendwelche Fehlermeldungen die ich nich wirklich deuten kann...
Danke

Freeman

Holzchopf

Meisterpacker

BeitragSo, Dez 14, 2003 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast eine 5x5 Tilemap erstellt, aber ein 6x6 Datafeld.

Ausserdem hast du in den Schleiffen zuerst den X-Wert und dann den Y-Wert. Das heisst, dass die X-Felder zeilenweise und die Y-Werte spaltenweise ausgelesen werden, somit dreht sich die Karte die du zeichnest, zu der die du mit Data aufbaust um 90°.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

BladeRunner

Moderator

BeitragSo, Dez 14, 2003 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Zudem:
Setbuffer backbuffer nicht in die Hauptschleife (da unnötig).
Den Umweg über die QUIT-Var kannst du dir sparen, Until Keyhit(1) funzt genauso...
so long ...
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Jan_

Ehemaliger Admin

BeitragMo, Dez 15, 2003 9:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 800,600
tile = LoadAnimImage("tileset.bmp",32,32,0,5)


Dim map(5,5)

Data 1,1,0,1,0,1
Data 0,1,0,1,0,1
Data 0,1,1,1,0,1
Data 0,1,0,1,1,1
Data 0,1,0,1,1,1
Data 0,1,1,1,0,1


For x = 0 To 5
For y = 0 To 5
Read map(x,y)
Next
Next

quit = 0
SetBuffer BackBuffer()
Repeat

If Keyhit(1) then quit = 1

Cls ;kann eventuell später entfallen
;TILEBLOCK tile,0,0,0 ; und durch das ersetzt werden!


For x = 0 To 5
For y = 0 To 5
DrawImage tile , x*32,y*32,map(x,y)
Next
Next

Flip
Until quit


Ich glaube mal, so müste es gehen!

Das mit dem Quit ist schon richtig, damit kann man auch durch andere Sachen aus der schleife gehen!
between angels and insects

Freeman

BeitragMo, Dez 15, 2003 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
also erstmal danke für eure zahlreichen Antworten. ich habe es jetzt so gemacht wie BladeRunner und Holzchopf es mir gesagt haben, danke.

@jan_ , so hab ichs auch gemacht, danke

Freeman
 

dubitat

BeitragDi, Dez 23, 2003 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
ehhm kleine frage: warum nehmen immer alle eine repeat schleife statt einer while schleife? vertex bläut mir immer ein das das beste while is und ich weiß nich warum dann alle repeat nehmen...
Erare humanum est - Irren ist Menschlich

Freeman

BeitragDi, Dez 23, 2003 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ganz einach,bei mir isses so weil ich davor PB gemacht hab und ich mir das einfach so angewöhnt hab^^

Frage ist übrigenz schon lang beantwortet
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Hubsi

BeitragDi, Dez 23, 2003 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei einer Hauptschleife ist es doch völlig egal ob Repeat oder While? Verbessert mich wenn ich irre (bin) Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group