Komisches Problem inm einem Editor!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Komisches Problem inm einem Editor!

BeitragMo, Mai 24, 2004 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Wenn ich in meinem Editor eine Map laden will, zeichnet der nur irgendwie immer 2 Tiles...ein bissle seltsam! Hier der Code, ich hoffe das reicht!
Code: [AUSKLAPPEN]

Function speichern()
If KeyHit(s)
   file = WriteFile("test.map")
      For x = 0 To 100
         For y = 0 To 100
            WriteInt file,map(mx,my)
            WriteInt file,mx
            WriteInt file,my
         Next    
      Next    
   CloseFile file   
EndIf
End Function    


Function laden()
If KeyHit(l)
   dateiname$=Input("Dateinamen eingeben: ")
      If dateiname$<>""
         file=ReadFile(dateiname$+".map")
            For x = 0 To 100
               For y = 0 To 100
                  map(mx,my) = ReadInt(file)
                  mx = ReadInt(file)
                  my = ReadInt(file)
               Next    
            Next
      CloseFile file
   EndIf
EndIf
End Function
~ Hey Ho Let's Go ~

Garfield

BeitragMo, Mai 24, 2004 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke ganz einfach:

WriteInt file,map(mx,my) -> du meinst bestimmt (x,y)

oder die Schleifenvariablen auf mx und my setzen
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra
 

Blitzkrieg Bop

BeitragMo, Mai 24, 2004 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
für den editor gilt aber das:

Code: [AUSKLAPPEN]

mx = ((MouseX()-scrollx)/32)
my = ((MouseY()-scrolly)/32)


und das:
Code: [AUSKLAPPEN]

map(mx,my) = test  ;tilewahl


Sind zwar nur Schnipsel, die zeigen aber das mx und my richtuig sind würde ich sagen!
~ Hey Ho Let's Go ~

BladeRunner

Moderator

BeitragMo, Mai 24, 2004 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Garfields antwort ist absolut korrekt. es ist recht egal was du sonstwo im code mit mx und my anstellst. tatsache ist du speicherst in dein komplettes file immer wieder die selben variablen ohne eine änderung ab.
wobei mir zudem noch schleierhaft ist weshalb du sowohl die Arrayposition als auch immer wieder die Var (vollkommen sinnlos) speicherst.
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

Garfield

BeitragMo, Mai 24, 2004 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, beim "saven" sind mx und my also von der Maus abhängig, das dürfte funktionieren,
aber beim laden?
da ist mx und my immer gleich!

EDIT:

nee quatsch, BladeRunner siehts auch so, auch beim saven speicherst du das teil 100*100 an die gleiche Position

Also ich denke das Tile ist definiert mit mx,my durch die Maus, also map(mx,my) ist ok, aber die Psoitionen sollten dann "hochzählen" denk ich:

mx + x
my + y

also, die Schleifen auch mit 0 zo 99 laufen lassen!
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra
  • Zuletzt bearbeitet von Garfield am Mo, Mai 24, 2004 16:12, insgesamt einmal bearbeitet
 

Blitzkrieg Bop

BeitragMo, Mai 24, 2004 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
stimmt, mx und my lade ich nicht mehr, nur noch den array!
aber wnen ich das mahce und dann lade, malt der nur 1 teil ganz oben links in die ecke!
~ Hey Ho Let's Go ~

BladeRunner

Moderator

BeitragMo, Mai 24, 2004 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Wo funktioniert das beim saven? bis der die 10000 Schleifendurchläufe durch hat sind noch keine 100ms vergangen. also hast du wiederum überall die selben koords. Ausserdem stell ich mir folgende Aufforderung sehr witzisch vor:
"Speichere jetzt. Bitte Maus wild schütteln!"


EDIT: noch dazu wird ja mx und my nit beeinflusst während der schleifendurchgänge. kann sich also auch mit dem wildesten Geschüttel nix dran tun.
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
  • Zuletzt bearbeitet von BladeRunner am Mo, Mai 24, 2004 16:23, insgesamt einmal bearbeitet

Garfield

BeitragMo, Mai 24, 2004 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich denke mir das so:

Code: [AUSKLAPPEN]
      For x = 0 To 99
         For y = 0 To 99
            WriteInt file,map(mx,my)
            WriteInt file,mx+x
            WriteInt file,my +y


DAnn hast du das mit der Maus selektierte Tile an allen 100 Koordinaten, ich denke das es das ist was du willst
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra
 

Blitzkrieg Bop

BeitragMo, Mai 24, 2004 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
bevor ich garfield code teste:
das mit for/next hab ich so geschrieben, weil dsa die größe des dim feldes ist! (max. 100).
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragMo, Mai 24, 2004 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
code geht leider net ...
~ Hey Ho Let's Go ~

rambo256

BeitragMo, Mai 24, 2004 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Also:
das mx muss weg,denn er soll ja in dem array x,y hochzählen,mx,my,würde doch immer auf 0 oder so bleiben und die schleife würde das 10000 mal durchgehen,das hat keinen sinn...
Edit: Deshalb wird auch nur oben links ein Tile angezeigt,logisch ist ja auch die stelle 0,0 in dem array.
Asus F53z

Das Leben ist eine reine Konkatenation...
 

Blitzkrieg Bop

BeitragMo, Mai 24, 2004 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
DAnk dir Rambo
~ Hey Ho Let's Go ~
 

HOT-BIT

Gast

BeitragMo, Mai 24, 2004 16:38
Antworten mit Zitat
Hoi !

Deswegen sage ich ja immer:

Lernt zuerstmal mal anständig coden, damit ihr die Zusammenhänge begreift !

Weil, wenn man da schon keinen Durchblick hat, wie soll das dann bei einem Game werden ?

Ich weiß ! Links rein, und rechts wieder raus !

Toni

BladeRunner

Moderator

BeitragMo, Mai 24, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal vollkommen [OT]: netter neuer Avatar, HOtti Wink
muss ich auch mal machen... obwohl, bei all den Kurzgeschorenen hier werd ich als Mattenträger wohl gelyncht ... *inDeckungspring*[/OT]
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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group