Level hochladen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Backflash

Betreff: Level hochladen

BeitragDo, Dez 02, 2004 17:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo leute, ich bin ein kompletter neuling in BB und hab da ein problem beim hochladen meiner Leveldatei.


Kann mir irgendjemand helfen???
Schauts euch selbst an, laut Buch find ich keinen Fehler:

; Jump1.BB

Graphics 640,480
SetBuffer BackBuffer()
tiles1 = LoadImage("D:\Programme\B B\BB 2D deutsch\help_original\resources\samples\Graphics\blocks1.bmp")
tiles2 = LoadImage("D:\Programme\B B\BB 2D deutsch\help_original\resources\samples\graphics\blocks2.bmp")
tiles3 = LoadImage("D:\Programme\B B\BB 2D deutsch\help_original\resources\samples\graphics\pickups.bmp")

; Level von Festplatte einlesen

Dim Level$(15,80)
leveldatei = ReadFile("D:\Programme\B B\BB 2D\JumpandRun\jump.dat")
For Zeile=0 To 14
A$ = ReadLine(leveldatei)
For Spalte=0 To 79
Level$(Zeile,Spalte) = Mid$(A$, (Spalte*4) +1, 3)
Next
Next
CloseFile leveldatei
Offset = 0

; Level zeichnen

Repeat

ClsColor 0,0,255
Cls

If KeyDown(203) Then
If Offset > 0 Then Offset = Offset - 1
End If
If KeyDown(205) Then
If Offset < 59 Then Offset = Offset + 1
End If

For Zeile=0 To 14
For Spalte=0 To 19

Quadrat$ = Level$(Zeile,Spalte + Offset)
BMP$ = Left$(Quadrat,1)
BMPZeile = Asc( Mid$(Quadrat,2,1) ) - 65
BMPSpalte = Asc( Mid$(Quadrat,3,1) ) - 65

If BMP$ = "1" Then
DrawImageRect tiles1, Spalte*32, Zeile*32, (BMPSpalte*34) +
2, (BMPZeile * 34) + 2, 32, 32
End If
If BMP$ = "2" Then
DrawImageRect tiles2, Spalte*32, Zeile*32, (BMPSpalte*34 + 2),
(BMPZeile * 34) + 2, 32, 32
End If
If Quadrat$ = "301" Then ; Erdbeere
DrawImageRect tiles 3, Spalte*32, Zeile*32, 421, 171, 32, 27
End If
If Quadrat$ = "302" Then ; Melone
DrawImageRect tiles 3, Spalte*32, Zeile*32, 99, 106, 32, 18
End If

Next
Next

Flip
Delay 10

Until KeyHit(1)

Hubsi

BeitragDo, Dez 02, 2004 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine etwas genauere Problembeschreibung wäre durchaus hilfreich Wink Warum arbeitest Du hier eigentlich mit Zeichenketten, also Strings? Hier würden Bytes längst ausreichen und das ganze sich auch einfacher gestalten.

Edit: Das ClsColor hat in der Schleife nichts verloren und Delay ist auch nicht gerade zur Framebegrenzung geeignet Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
  • Zuletzt bearbeitet von Hubsi am Do, Dez 02, 2004 17:21, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragDo, Dez 02, 2004 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
benutz bitte die Codetags.
Ansonsten: prüfe ob leveldatei nach dem readfile <>0 ist, wenn nein konnte die datei nicht geöffnet werden. könnte daran liegen dass du ein Leerzeichen im Pfad hast.
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
 

Backflash

BeitragDo, Dez 02, 2004 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sag ja ich bin ein kompletter neuling und heut is mein 2 Tag.
Kann dir leider keine genauere Problembeschreibung geben, nur den Fehlermeldungstext: Expexting Expression

Ich mach den Abschnitt aus nem Buch, da steht halt drin das man so nen Level hochladen kann.
 

Backflash

BeitragDo, Dez 02, 2004 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Was sind Codetags??

BladeRunner

Moderator

BeitragDo, Dez 02, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast zeilenumbrüche in den Befehlen. das geht so nicht. Alles was zu einem Befehl gehört muss in eine Zeile. Zudem hast Du den Varnamen Tiles3 als Tiles 3 geschrieben- damit kommt der Compiler nicht klar.
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

Hubsi

BeitragDo, Dez 02, 2004 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 640,480
SetBuffer BackBuffer()
tiles1 = LoadImage("D:\Programme\B B\BB 2D deutsch\help_original\resources\samples\Graphics\blocks1.bmp")
tiles2 = LoadImage("D:\Programme\B B\BB 2D deutsch\help_original\resources\samples\graphics\blocks2.bmp")
tiles3 = LoadImage("D:\Programme\B B\BB 2D deutsch\help_original\resources\samples\graphics\pickups.bmp")

; Level von Festplatte einlesen

Dim Level$(15,80)
leveldatei = ReadFile("D:\Programme\B B\BB 2D\JumpandRun\jump.dat")
For Zeile=0 To 14
A$ = ReadLine(leveldatei)
For Spalte=0 To 79
Level$(Zeile,Spalte) = Mid$(A$, (Spalte*4) +1, 3)
Next
Next
CloseFile leveldatei
Offset = 0

; Level zeichnen

Repeat

ClsColor 0,0,255
Cls

If KeyDown(203) Then
If Offset > 0 Then Offset = Offset - 1
End If
If KeyDown(205) Then
If Offset < 59 Then Offset = Offset + 1
End If

For Zeile=0 To 14
For Spalte=0 To 19

Quadrat$ = Level$(Zeile,Spalte + Offset)
BMP$ = Left$(Quadrat,1)
BMPZeile = Asc( Mid$(Quadrat,2,1) ) - 65
BMPSpalte = Asc( Mid$(Quadrat,3,1) ) - 65

If BMP$ = "1" Then
DrawImageRect tiles1, Spalte*32, Zeile*32, (BMPSpalte*34) +2, (BMPZeile * 34) + 2, 32, 32
End If
If BMP$ = "2" Then
DrawImageRect tiles2, Spalte*32, Zeile*32, (BMPSpalte*34 + 2),(BMPZeile * 34) + 2, 32, 32
End If
If Quadrat$ = "301" Then ; Erdbeere
DrawImageRect tiles3, Spalte*32, Zeile*32, 421, 171, 32, 27
End If
If Quadrat$ = "302" Then ; Melone
DrawImageRect tiles3, Spalte*32, Zeile*32, 99, 106, 32, 18
End If

Next
Next

Flip
Delay 10

Until KeyHit(1)
Variablennamen dürfen keine Leerzeichen enthalten (tiles3 bei DrawImageRect) und es waren einige wenige Zeilen auf zwei umgebrochen. Also alles Syntaxfehler Wink
Codetags sind die kleinen Buttons über dem Textfeld Very Happy

Edit: Tja, zu lahm Mr. Green
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Backflash

BeitragDo, Dez 02, 2004 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Danke Danke Danke Danke

Also ab jetzt werdets ihr öfter mit mir zu tun kriegen Laughing

Nochmal fettes Merci für die Hilfe
 

storzi

BeitragFr, Dez 03, 2004 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
und noch ein tipp, benutz keine absoluten sondern relative pfade, also statt "d:\bilder\bild.bmp" einfach "bild.bmp" machen wenns im gleichen ordner ist wie die bb-datei Smile
sonst könnte es probleme geben wenn es an einem anderen pc getestet werden soll, bzw. es wird wohl viele geben die nicht die gleiche ordnerstruktur haben wollen wie du Wink
http://www.splattergamez.de
 

hot-bit

Gast

BeitragFr, Dez 03, 2004 17:11
Antworten mit Zitat
Hoi.

Soll das etwa eine Drohung sein ?
Zitat:
Also ab jetzt werdets ihr öfter mit mir zu tun kriegen


Ojeee...

Toni

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group