BlitzBasic Hilfe!
Übersicht

merlinBetreff: BlitzBasic Hilfe! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. ![]() |
||
Gruss Der Typ.
User posted image |
Darren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich kenn blitzbasic. ![]() |
||
MFG Darren |
merlinBetreff: Also... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du das Spiel privat auf deinem Rechner benutzt, OK. Ansonsten:
Benutz lieber relative Pfade zu den Spiel -grafiken und -ressourcen. ![]() Ich hoffe du weisst, was ich meine. |
||
www.xairro.com |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group