2D maps zeichnen, erneutes Problem

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Freeman

Betreff: 2D maps zeichnen, erneutes Problem

BeitragSa, Aug 13, 2005 0:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

hab mich nach längerer Zeit wieder mal an meinen mapeditor rangesetzt um in das map male problem endlich mal anzugehen, ja es hat funktioniert,allerdings scrollen die tiles nicht mehr mit...kann mir wer helfen? hier sind die wichtigsten ausschnitte :


BlitzMax: [AUSKLAPPEN]

' X Berechnung
max_X=(map_breite*16)+scrollx
If max_X>800 Then max_map_X_subtraktion=max_x-800
If max_X<=800 Then max_map_X_subtraktion=0
max_map_X=(map_breite-(max_map_X_subtraktion/16))+scrollx/16

If max_map_X<1 Then max_map_X=0
min_X=(scrollx/16)
If min_X<0 Then min_X=0

'Y Berechnung
max_y=(map_hoehe*16)+scrolly
If max_y>600 Then max_map_y_subtraktion=max_y-600
If max_y<=600 Then max_map_y_subtraktion=0
max_map_y=(map_hoehe-(max_map_y_subtraktion/16))+scrolly/16

If max_map_y<1 Then max_map_y=0
min_y=(scrolly/16)
If min_y<0 Then min_y=0


und so zeichne ich dann die map
BlitzMax: [AUSKLAPPEN]

For map_x=min_X To max_map_x-1
For map_y=min_Y To max_map_y-1
For mlayer=1 To layer
DrawImage tiles,(map_x*16),(map_y*16),map[map_x,map_y,mlayer]
Next
Next
Next


und so habe ich versucht die tiles aufzuzeichnen
BlitzMax: [AUSKLAPPEN]

If MouseDown(1) Then map[mx2,my2,layer]=4
mx2=(MouseX()/16)-(scrollx/16)
my2=(MouseY()/16)-(scrolly/16)


wie schon gesagt liegt das problem da das ich die tiles zwar einzeichnen kann aber diese nicht mit scrollen, und sobald ich in die malschleife der map scrollx/scrolly einsetze haut die berechnungsmethode nichtmehr hin. Deshalb suche ich jetz eine andere Lösung.

achso die "*16" stehen für die 16*16 tiles,also nicht wundern
Fr3eMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28
 

Dreamora

BeitragSa, Aug 13, 2005 0:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wo genau bestimmst du wie sich scrollx / y verändert?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Freeman

BeitragSa, Aug 13, 2005 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
halt per tastendruck

BlitzMax: [AUSKLAPPEN]

If KeyDown(key_left) Then scrollx:-16
If KeyDown(key_right) Then scrollx:+16
If KeyDown(key_up) Then scrolly:-16
If KeyDown(key_down) Then scrolly:+16


Fr3eMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

maximilian

BeitragSa, Aug 13, 2005 10:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
For map_x=min_X to max_map_x-1
For map_y=min_Y to max_map_y-1
For mlayer=1 to layer
DrawImage tiles,(map_x*16),(map_y*16),map[map_x,map_y,mlayer]
Next
Next
Next


Und wo ist die Subtraktion um die Tiles zu scrollen a la (map_x*16)-scroll_x? Shocked

LordChaos

/edit: So, aber wie es aussieht, scrollen deine Tiles doch. Halt nur nicht so viel. Smile

Code: [AUSKLAPPEN]
If max_map_X<1 Then max_map_X=0
min_X=(scrollx/16)
If min_X<0 Then min_X=0


müsste doch eigentlich heißen:
Code: [AUSKLAPPEN]
If max_map_X<1 Then max_map_X=0
min_X=scrollx
If min_X<0 Then min_X=0


Oder könnte es sein das ich deine sehr fremde Methode nicht verstanden habe? :/
Variety is the spice of life. One day ignore people, next day annoy them.

Freeman

BeitragSa, Aug 13, 2005 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
@lordchaos , ja eigentlich, aber probier das ganze mal aus Wink

ich habe die ganze sache mal hochgeladen,schauts euch mal an, ich hoffe ich kann euch damit besser helfen

http://www.blitz-pasting.net/i...amp;id=140

Fr3eMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group