Level wechsel´n ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Raiden93

Betreff: Level wechsel´n ?

BeitragSo, Dez 05, 2010 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey,
ich würde gerne wissen wie ich es Realiesieren könnte meine Levels zu wechseln.
Ich denke vor dem Level Wechsel erstmal alle Types Deleten und dan neu erstellen und Map mit Read map(X,Y) neu laden.
Aber leider sind meine alten gelöschten sachen, wen ich drüber laufe aus dem alten Level wieder Sichtbar.?

Sollte ich eine Funktion mit den Namen Level erstellen, und dort die Start Koordinaten laden?

Fals ihr eine Idee habt, würde ich mich dafür Interessieren Razz

Xeres

Moderator

BeitragSo, Dez 05, 2010 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Alte Daten löschen, neue Laden ist der richtige Weg. Wenn was übrig bleibt, machst du was falsch.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Raiden93

BeitragSo, Dez 05, 2010 15:43
Antworten mit Zitat
Benutzer-Profile anzeigen
das komische ist ja das ich meine Types erst lösche und nach dem Laden wieder erstelle.Aber die Steine Trotz noch verbugt sind.

Code: [AUSKLAPPEN]
   If Laden = True
      Laden = False
      
      Delete Stein
      Delete Diamonds
      Level = Level +1
      
      Select Level
         Case 1
            
         Case 2
            SpielerX_Draw = 2*32 ;X-Position des Charackters
            SpielerY_Draw = 2*32  ;Y-Position des Charackters
            SpielerX = 2     ;Kollisions X-Position des Charackters
            SpielerY = 2     ;Kollisions Y-Position des Charackter
            ScrollY = -5*32    ;Die Variable für die ScrollY-Position
            ScrollX = -9*32    ;Die Variable für die ScrollX-Position
      End Select
      
      Karte$ = ReadFile("data/maps/map"+Level+".map")
      For X = 0 To 25
         For Y = 0 To 25
            map(X,Y) = ReadInt(Karte$)
         Next
      Next
      CloseFile(Karte$)
      
      Steine_Erstellen = True
      Diamonds_Refresh = True
   End If

Xeres

Moderator

BeitragSo, Dez 05, 2010 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Pack das am besten alles in eine Funktion.
Was ist das hier:
Code: [AUSKLAPPEN]
Delete Stein
Delete Diamonds
? Ist Stein/Diamonds eine Instanz oder ein Type? Um alle Instanzen der Types zu löschen wäre richtig:
Code: [AUSKLAPPEN]
Delete Each TStein
Delete Each TDiamonds
mit TStein/TDiamonds = Types.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
  • Zuletzt bearbeitet von Xeres am So, Dez 05, 2010 15:55, insgesamt einmal bearbeitet

Raiden93

BeitragSo, Dez 05, 2010 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh davon wusste ich nix mal ausprobieren^^

EDIT:
Jetzt geht es ich danke dir Smile

Dottakopf

BeitragDi, Dez 07, 2010 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreibe eine funktion die dir das laden übernimmt. Natürlich muss vorher immer alles gelöscht werden bevor du es neu überschreibst.


Code: [AUSKLAPPEN]
function change_level( nr )
       
       ;alle types löschen
       if tinfo.steintype <> 0 then ;kompletten type löschen
         


       mapfile = readfile("level" + nr + ".txt")
             wert = readline(mapfile)
             wert = readline(mapfile)
   
                     count= readline(mapfile)
                     for x = 1 to count
                         tinfo.Steintype = new Steintype
                                tinfo\...
                                tinfo\...

                     next
         closefile(mapfile)

end function





so und nun kannst du alle level mit einer einzigen funktion und ohne großes tam tam öffnen. Da alle werte in deiner level datei stehen ( welche mit deinem editor erstellt wurde).
Damit beim starten des spiels das erste mal die richtige karte geladen wird, musst du halt vor der main loop einmal die funktion "change_level( 1 )" ausführen.
Rechtschreibfehler gelten der allgemeinen Belustigung!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group