BlitzBasic Hilfe!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

merlin

Betreff: BlitzBasic Hilfe!

BeitragSo, Nov 20, 2005 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz Basic Hilfe!
Hallo!
Aber ich wollte auch fragen ob jemand weiß:
1. Ich habe den Anfang eines Games erstellt. Als erstes soll man seine Figur auswählen können. Das auswählen funktioniert alles. Aber ich habe das mit einer While-Wend Schleife gemacht (bis Esc gedrückt wird.)
Meine Frage ist jetzt. Ich will das sich meine Figur bewegt(Nachdem man Enter bei seiner Figur gedrückt hat kommt man auf ein FEld mit einer Figur).
Ich weiß schon wie ich das machen soll, aber in und außen bei der Schleife bewegt er sich nicht.
Hier ist mal der Code:(Verzeit mir Fehler, kenn Blitz erst en Jahr!)

Code: [AUSKLAPPEN]

AppTitle "Game"
Graphics 800,640,16,2
Global Figur1 = LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Figur1.png")
Global Figur2 = LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Figur2.png")
Global Figur3 = LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Figur3.png")
Global Figur1m = LoadImage ("C:\Programme\Blitz3D\RSG\Spiel\Figur1m.png")
Global Figur2m = LoadImage ("C:\Programme\Blitz3D\RSG\Spiel\Figur2m.png")
Global Figur3m = LoadImage ("C:\Programme\Blitz3D\RSG\Spiel\Figur3m.png")
Hintergrund = LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Hintergrund.png")
HintergrundG1 = LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Weg zu Game\Hintergrund.png")
Figur1Ja = 0
Figur2Ja = 0
Figur3Ja = 0
DrawImage Figur1, 100,100
DrawImage Figur2, 300,100
DrawImage Figur3, 500,100
SetBuffer BackBuffer()
While Not KeyDown(1)
If KeyDown(2)=True
DrawImage Figur1m, 100, 100
DrawImage Figur3, 500, 100
DrawImage Figur2, 300,100
Figur1Ja = 1
Figur2Ja = 0
Figur3Ja = 0
ElseIf KeyDown(3)=True
DrawImage Figur2m, 300,100
DrawImage Figur1, 100, 100
DrawImage Figur3, 500, 100
Figur1Ja = 0
Figur2Ja = 1
Figur3Ja = 0
ElseIf KeyDown(4)=True
DrawImage Figur3m, 500, 100
DrawImage Figur1, 100, 100
DrawImage Figur2, 300,100
Figur1Ja = 0
Figur2Ja = 0
Figur3Ja = 1
EndIf
Flip
FlushKeys
If KeyDown(28) And Figur1Ja = 1 Then
SetBuffer BackBuffer()
Cls
DrawImage HintergrundG1, x, y
DrawImage Figur1, 320, 450
Flip
ElseIf KeyDown(28) And Figur2Ja = 1
SetBuffer BackBuffer()
Cls
DrawImage HintergrundG1, x, y
DrawImage Figur2, 320, 450
Flip
ElseIf KeyDown(28) And Figur3Ja = 1
SetBuffer BackBuffer()
DrawImage HintergrundG1, x, y
DrawImage Figur3, 320, 450
Flip
EndIF
Wend
Mfg
Simon Prantl

Ps.: Besucht meine Seiten:
[*]http://www.rsg-7b.de.vu
[*]http://www.HackTheSpiel.de.vu
[*]http://funnycentral.de.vu
  • Zuletzt bearbeitet von merlin am Mo, Nov 21, 2005 18:30, insgesamt einmal bearbeitet

SoNenTyp

BeitragMo, Nov 21, 2005 0:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab deinen Code mal neu geschrieben. Er benutzt jetzt Arrays was ihn (meiner Meinung nach) übersichtlicher und kürzer macht. Da ich die Grafiken nicht hier habe und keine lust hatte schnell Dummys zu erstellen, ist er ungetestet. Müsste aber Funktionieren.

Code: [AUSKLAPPEN]

AppTitle("Game")
Graphics 800,600,16,2
SetBuffer BackBuffer()   ;Backbuffer als Aktuellen Buffer definieren. Es reicht wenn du das einmal machst.
                  ;Du Musst es nur dann nochmal machen, wenn du einen anderen Buffer nutzen willst oder es bereits getahn hast.

Dim Figuren(2,1)      ;Zweidimensionales Datenfeld (Array) definieren, in das die Bilder für die Figuren kommen.
Dim Hintergruende(1)   ;Eindimensionales Datenfeld definieren, in das die Hintergründe kommen

Global GewaehlteFigur   ;Eine Global Variable Definieren in der später steht, welche Figur du gewählt hast

                  ;Die Figuren laden
Figuren(0,0)=LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Figur1.png")
Figuren(1,0)=LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Figur2.png")
Figuren(2,0)=LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Figur3.png")

Figuren(0,1)=LoadImage ("C:\Programme\Blitz3D\RSG\Spiel\Figur1m.png")
Figuren(1,1)=LoadImage ("C:\Programme\Blitz3D\RSG\Spiel\Figur2m.png")
Figuren(2,1)=LoadImage ("C:\Programme\Blitz3D\RSG\Spiel\Figur3m.png")

                  ;Die Hintergründe laden
Hintergruende(0)=LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Hintergrund.png")
Hintergruende(1)=LoadImage("C:\Programme\Blitz3D\RSG\Spiel\Weg zu Game\Hintergrund.png")



While Not KeyDown(1)
   Cls                           ;Den Bildschierm "löschen" (Komplett Schwarz übermalen)
   If(KeyHit(2))Then GewaehlteFigur=0   ;Abfragen ob eine Taste zum wählen der Figur gedrückt wurde.
   If(KeyHit(3))Then GewaehlteFigur=1   ;Wenn ja wird der entsprechende Wert in die Globale Variable eingetragen.
   If(KeyHit(4))Then GewaehlteFigur=2
   
   
   For FigurNummer=0 To 2            ;In einer For-Schleife alle Figuren zeichnen
      If(GewaehlteFigur=FigurNummer) Then      ;Dies ist die gewählte Figur
         DrawImage Figuren(FigurNummer,1),100+FigurNummer*200,100   ;Zeichnen der Figur
      Else                           ;Dies ist nicht die gewählte Figur
         DrawImage Figuren(FigurNummer,0),100+FigurNummer*200,100   ;Zeichnen der Figur
      EndIf
   Next                        ;Wenn FigurNummer kleiner ist als 2 dann ab zurück zum Anfang der For-Schleife
   
   
   If(KeyDown(28)) Then            ;Wenn gerade die Enter-Taste gedrückt ist dann
      DrawImage Hintergruende(1), x, y   ;Den entsprechenden Hintergrund Zeichnen
      DrawImage Figuren(GewaehlteFigur,0),320,450   ;Die Gewählte Figur Zeichnen
   EndIf
   
   Flip            ;Den Frontbuffer duch den Backbuffer ersetzen (und umgekehrt)
   
Wend


Ich hoffe du verstehst ihn, wenn nicht frag ruhig.

Und nun erkläre bitte nochmal was dein Problem ist, ich habe es nämlich nicht so ganz verstanden. Very Happy
Gruss Der Typ.

User posted image
 

Darren

BeitragMo, Nov 21, 2005 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ich kenn blitzbasic. Rolling Eyes
MFG Darren
 

merlin

Betreff: Also...

BeitragMo, Nov 21, 2005 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, wenn ich in meinem Code nach der Figurenauswahl nach vorne drücke, passiert bei einer Variante gar nichts, bei der anderen ist die Figur gleich am Ende.
Mfg
Merlin
Mfg
Simon Prantl

Ps.: Besucht meine Seiten:
[*]http://www.rsg-7b.de.vu
[*]http://www.HackTheSpiel.de.vu
[*]http://funnycentral.de.vu

BlitzChecker

BeitragFr, Nov 25, 2005 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du das Spiel privat auf deinem Rechner benutzt, OK. Ansonsten:
Benutz lieber relative Pfade zu den Spiel -grafiken und -ressourcen. Wink
Ich hoffe du weisst, was ich meine.
www.xairro.com

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group