Spiel das Spiel mit Levels
Übersicht

![]() |
zirriBetreff: Spiel das Spiel mit Levels |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Ich bin grad dabei meinen ersten Weltraum Shooter zu programmieren. Leider hab ich zwei probleme und eine Frage.Ich starte das Spiel, aber das hauptmenü ist zuweit links. Hilfe. Ich hatte heute versucht mein Spiel als Installationsdatei zu verpacken. Ich habs mit Inno Setup gemacht. Aber wenn ich das Spiel installiert habe, erstellt er als Destop Icon eine Musikdatei.(Hab alle dateien inklusive Icon und Readmedatei korrekt angegeben) Und wie krieg ich das hin auf einem Computer das Spiel zu starten der kein BB hat. Aber jetzt zu meiner Hauptfrage: Wie baue ich in mein Spielmehrere levels ein. Hintergründe für andere levels hab ich schon. Danke im Voraus ![]() AppTitle "Space Master" Graphics 800,600 SetBuffer BackBuffer() Global monster = LoadImage("gfx\player2.bmp") Global player = LoadImage("gfx\spaceship3.bmp") Global schussbild = LoadImage("gfx\bullet.bmp") Global background = LoadImage("gfx\stars.bmp") Global schusston = LoadSound("gfx\048.wav") Global trefferton = LoadSound("gfx\ugh.wav") PlayMusic("gfx\Spacefighter.mp3") hinter = LoadImage ("gfx\stars.bmp") tiles = LoadImage ("gfx\blocks1.bmp") maus = LoadImage ("gfx\pointer.bmp") font = LoadFont("Times New Roman", 40, 1, 0, 0) SetFont font ; Graphik für Menüpunkt erzeugen stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100 : MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Einstellungen" MenuZeile(3) = 300 : MenuName$(3) = "Ende" Global X Global Y Global I Dim rakete(20,2) Global treffer = 0 Global hoehe = 200 Global schuss = 0 Global punkte = 0 Global pos_y = 10 Global sin_x = 0 Global bg = 0 ; ; Hauptmenü-Schleife ; SetBuffer BackBuffer() Repeat TileBlock hinter Menu = 0 X = MouseX() Y = MouseY() For I=1 To 3 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Einstellungen() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End ; ; Funktionen für Menüpunkte ; Function Start() x=300 y=300 i=0 Repeat Cls hintergrund() steuerung() schiesen() gegner() kollisionen() spieler() punkte() Flip Until KeyDown(1) End Function Function Einstellungen() Repeat Cls Text 100,100, "Einstellungen" Text 200,200, "Kommen noch" Text 300,300, "Beenden mit Esc" Flip Until KeyHit(1) End Function Function Ende() Repeat Cls Text 100,100, "Ende" Flip Until KeyHit(1) Or KeyHit(57) End End Function Function hintergrund() bg = bg + 1 If bg = 200 Then bg = 0 TileBlock background, 0, bg End Function Function steuerung() If KeyDown(205) Then x = x + 4 If KeyDown(203) Then x = x - 4 If KeyDown(200) Then y = y - 4 If KeyDown(208) Then y = y + 4 If x > 765 Then x = 765 If x < 0 Then x = 0 If y > 570 Then y = 570 If y < 0 Then y = 0 End Function Function schiesen() If KeyHit(57) Then schuss = schuss + 1 If schuss = 21 Then schuss = 1 rakete(schuss,0) = 1 rakete(schuss,1) = x + 8 rakete(schuss,2) = y - 16 PlaySound(schusston) EndIf For l = 1 To 20 If rakete(l,0) = 1 Then DrawImage schussbild, rakete(l,1), rakete(l,2) rakete(l,2) = rakete(l,2) - 5 EndIf Next End Function Function gegner() i = i + 1 pos_y = pos_y + 3 sin_x = Sin(i) * hoehe sin_x = sin_x + 300 DrawImage monster, sin_x, pos_y If pos_y > 641 Then punkte = punkte - 10 pos_y = 0 hoehe = Rnd(200,300) EndIf End Function Function kollisionen() For k = 1 To 20 If rakete(k,0) = 1 And ImagesOverlap(monster, sin_x, pos_y, schussbild, rakete(k,1), rakete(k,2)) Then rakete(k,0) = 0 treffer = treffer + 1 Sin_x=0:Pos_y=10 EndIf Next If treffer = 3 Then treffer = 0 punkte = punkte + 20 hoehe = Rnd(200,300) pos_y = -10 EndIf If KeyDown(197) Or KeyDown(25) Then font = LoadFont("Times New Roman",80,0,0,0) SetFont font Locate 150,200 Print "P A U S E" FlushKeys WaitKey FreeFont font EndIf If ImagesOverlap(monster, sin_x, pos_y, player, x, y) Then PlaySound(trefferton) font = LoadFont("Times New Roman",80,0,0,0) SetFont font Color 255,0,0 Text 400,100,"-GAME OVER-",1,0 FreeFont font e$ = Input("Willst du nochmals?(j,n)") If e$ <> "j" Then End EndIf End Function Function spieler() DrawImage player, x, y End Function Function punkte() Text 400,10, "Du hast "+punkte+" Punkte" End Function |
||
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein paar mehr Komentare wären nicht schlecht ![]() |
||
![]() |
The Yeti |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab jetzt keine Lust, mir deinen Code durchzulesen, sry.
Aber auf einige Fragen kann ich eingehen: 1. Mach das Hauptmenü weiter nach rechts -.- 2. Mit Setups kenn ich mich nicht aus... 3. Sofern du nicht die Demo hast, gehst du oben auf "Program", machst das Häkchen bei "Debug enabled?" weg und gehst dann (ebenfalls unter "program") auf "Create Executable". Dann wird das Ganze zu einer .exe . 4. im simpelsten Fall setzt du hinter das Ende eines Levels den nächsten Level. Einfach als einzelne Programmabschnitte... |
||
![]() |
zirri |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, aber ich weiß nicht genau mit welcher variablen ich das hauptmenü verschiebe und leider hab ich nur die Demo. | ||
![]() |
Bfox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um das Menü weiter nach rechts zurücken, musst du nur die Zahlen erhöhen!
Das ist doch ganz logisch, oder ich versteh nicht ganz was du meinst! |
||
Glauben ist Mangel an Wissen! |
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du wirst doch wohl wissen wie du das menu gemacht hast
Wenn du ein menu erstellst musst du doch ,egal wie dus erstellt hast, die Koordinaten der Komponeten oder des gesamten Menüs wissen. diese Korrdinaten veränderst du einfach. Ich hab wenn du meinst das ging nich^^ dein Quelltext nich gelesen.Der is mir zu lang ![]() |
||
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und noch ein Tipp zu dem Text-Befehl:
Mit zwei kleine Parametern am ende der Syntax kannst du den Text in x und y-Richtung zentrieren. Schau dir das mal an: Code: [AUSKLAPPEN] Graphics 640,480,16,1
Text 320,240,"Na, Bitte! Genau in der Mitte",1,1;Die Beiden Parameter WaitKey End dann brauchst du nicht diese aufwendige schreibweise: Code: [AUSKLAPPEN] Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I)
Mit dem Punkt um den du den Text zentrierst, verschiebst du dann auch den Hauptmenü-Text. |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
@The Yeti
Zitat: 3. Sofern du nicht die Demo hast, gehst du oben auf "Program", machst das Häkchen bei "Debug enabled?" weg und gehst dann (ebenfalls unter "program") auf "Create Executable". Dann wird das Ganze zu einer .exe . Wieso Debug enabled? Geht auch so! Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
René Meyer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
"Sie sollten mit diesem Kapitel nicht zu früh beginnen. Sammeln Sie erst Erfahrungen mit kleinen Programmen und Beispielen, ehe Sie sich an ein richtiges Projekt wagen. Die auf den folgenden Seiten vorgestellten Spielegerüste sollen Ihnen helfen, ein Verständnis zu erlangen, wie Spiele funktionieren. Sie sollten nicht als Grundlage für Ihre Spiele dienen. Einen vorhandenen Quelltext zu nehmen und leicht abzuändern, das ist kein Programmieren. Arbeiten Sie mit dem Kapitel, ändern Sie getrost Zeilen – und beginnen Sie dann mit einem leeren Editorfenster. So sammeln Sie am besten Erfahrung." | ||
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
DarkAngel hat Folgendes geschrieben: Wieso Debug enabled?
Dann läuft aber auch in der fertigen Exe der Debugger mit, was das Proggi nicht unbedingt schneller macht Geht auch so! ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
zirri |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leidef hab ich nur die BB Demo.
Weiß jemand wo ich die vollversion zu BB 2D billig herbekomme? |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.schreibfabrik.de/bb/kaufen.htm
Na ja, billig nicht aber was ist heut zu Tage schon billig? |
||
Deutscher Blitz Basic Chat |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
du kannst dir,soweit ich weiß,auch für 20€ B2D bei www.shareit.com downloaden. | ||
Asus F53z
Das Leben ist eine reine Konkatenation... |
![]() |
zirri |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke.- Es kostet 35 €. Werd ich mir warscheinlich kaufen. Ist ja blöd immer nur was mit ner demo zu machen.
ps: kann mir jemand nochmal erklären wie man das spiel mit verschiedenen levels macht? |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du löscht alles z.B. in einer Function und dan baust du das nächste Level auf.
z.B. Code: [AUSKLAPPEN] function levelzer() cls SpielerX = 0 SpielerY = 0 Leben = 5 Gegner = 5 drawimage Hintergrund, 0, 0 end function (Nur ein Beispiel) |
||
Deutscher Blitz Basic Chat |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Kommt drauf an, wie deine Levels aufgebaut sind. Bei den meisten Spaceshootern gibts ja nicht besonders viel zu berücksichtigen oder? Du kannst Gegner per Zufall erscheinen lassen oder aber vordefinieren. Wenn du letzteres haben willst, wäre es wohl das beste die Gegnerinformationen in einer Datei zu speichern und später wieder zu lesen. Desweiteren stünde in der Datei der verwendete Hintergrund, die verwendetet Hintergrundmusik usw... Musst dir halt ein Dateiformat überlegen in den du dich austoben kannst. Evtl willst du ja gescriptet Ereignisse, was durchaus auch in der Datei stehen könnte. @DarkAngel: wtf???? grüße |
||
http://bl4ckd0g.funpic.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group