Dimfeld umbennen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

DjDETE

Betreff: Dimfeld umbennen

BeitragMo, Okt 29, 2007 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich ein Dimfeld erstelle, kann ich es dann umbennen?

Bsp.:


[code]Dim level1(2,3)
[code]Data 1,2
[code]Data 2,1
[code]Data 2,2

Jetzt möchte ich, dass das Dimfeld nichtmehr level1, sondern z.B. map heißt.
Ist das irgendwie möglich?
 

Dreamora

BeitragMo, Okt 29, 2007 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein kannst du nicht.
Es wird immer level1 heissen. Ausser du änderst es direkt in obigem code von level1 auf map Smile

Der name ist nur ein bezeichner für den bereich im Speicher, von daher kannst du den namen auch einfach gescheiter wählen, so dass du ihn für alle level nehmen kannst. zb map wie von dir vorgeschlagen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Marek

BeitragMo, Okt 29, 2007 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Dim level1(2,3)
dim map(2,3)
for x=0 to 2
      for y=0 to 3
            map(x,y)=level1(x,y)
      next
next

So oder so in der art^^
Wenn ich das richtig sehe, hasst du verschiedene Level und willst eins als "aktiv" setzten, richtig? Dann kopierst du einfach die Daten deines Level-Arrays in ein AktivesLevel-Array.
MfG Marek
Wer lesen kann ist klar im Vorteil...
 

DjDETE

Betreff: Danke

BeitragMo, Okt 29, 2007 15:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke hat mir sehr geholfen.
Daran hab ich garnicht gedacht.
Ich will wirklich ein Level immer aktivieren, gut geraten.
 

Dreamora

BeitragMo, Okt 29, 2007 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist eine ziemlich schlechte lösung für das Problem:

Entweder lädst du die map daten am anfang des Levels aus einem Data bereich (rate ich davon ab) oder du lädst sie wie eigentlich jeder aus einer externen datei wo die daten entsprechend gespeichert sind. Das ist der normale weg.

Wie man das machen kann, kannst du zb im RPG tutorial auf www.robsite.de erfahren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragMo, Okt 29, 2007 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit dem Kopieren ist nicht gerade effizient. Was du brauchst sind Zeiger.
Da BB so etwas nicht hat, musst du das mit Integern erledigen:

Code: [AUSKLAPPEN]
Dim allLevels(n,x,y)

Es gibt n Level, die x breit und y hoch sind.
Zugreifen kannst du mit:
Code: [AUSKLAPPEN]
allLevels(level, 0, 5) = 1

Allerdings solltest du das nur tun, wenn du wirklich alle Level am Anfang laden musst und diese nicht besonders groß sind. Falls du sie nicht alle sofort laden musst, mach es so wie Dreamora schon gesagt hat: Wenn ein neuer Level benötigt wird, überschreibt er einfach die Leveldaten des aktuellen Levelspeichers, also z.B. map. Ist außerdem speichersparender.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

DjDETE

Betreff: Befehl DATA nicht in Funktionen

BeitragDi, Okt 30, 2007 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem besteht darin, dass ich den Befehl DATA nicht in einer Funktion benutzen kann.

BladeRunner

Moderator

BeitragDi, Okt 30, 2007 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum solltest Du auch Daten in eine Funktion packen?
Auslesen kann man sie aus einer Funktion heraus, dafür müssen sie nicht drin stehen.
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