Bildschirm wechselt nicht
Übersicht

![]() |
Flori-DBetreff: Bildschirm wechselt nicht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.Im teil Projekte hab ich mein Game(demo) Asteroid Shower reingestellt.Das Game geht.So und jetzt will ein Level 2 proggen und ich bleibe im Haptmenü und das Spiel läuft.Was kann ich dagegen machen?
Dazu geschriebener Code: Code: [AUSKLAPPEN] If Punkte = Punkte > 1500 Then
; ; Hauptschleife Level 2 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter3, 0,H DrawImage schiff, X, Y Flip Until KeyHit(1) EndIf Until KeyHit(1) End Function (das End Function steht hier zwar sinnlos wird aber gebraucht) |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
An dem Stückchen Code denke ich liegts nicht. Allerdings ist der Code an sich, wenn ich mir den Rest so dazudenke, wie soll ich sagen, idiotisch? Ist echt nicht böse gemeint, aber mir fällt dazu gerade nichts anderes ein ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, gut bin ja ach noch nicht so gut im proggen. ![]() |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich stelle fest das das nicht nur mit Level2 so ist.Ich hab jetzt ach Smilies gemacht die Afträge verteilen.Die werden aber auch nicht angezeigt.
Am besten ich gebe mal den Ganzen Code: Code: [AUSKLAPPEN] Graphics 640,480,16,1
SetBuffer BackBuffer() Global hinter = LoadImage("Gfx/stars.bmp") Global schiff = LoadImage("Gfx/R4.bmp") Global alienbild = LoadImage("Gfx/Rock1.bmp") Global rakete = LoadImage("Gfx/torpedo0016.bmp") Global explosion = LoadAnimImage("Gfx/explodeA.bmp", 60,46, 0,6) Global schusston = LoadSound("Sound/soundfx11.wav") Global trefferton = LoadSound("Sound/soundfx25.wav") Global tiles = LoadImage ("Gfx/blocks1.bmp") Global maus = LoadImage ("Gfx/pointer.bmp") Global hinter2 = LoadImage("Gfx/stars2.bmp") Global hinter3 = LoadImage("Wüste.bmp") Global auftrag1 = LoadImage("auftrag1.bmp") Dim Rak(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) Dim Alien2(5,2) Dim AlienExplodiert2(5,2) Global X = 305 Global Y = 420 Global timer = CreateTimer(60) ; Graphik für Menüpunkt erzeugen Global 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 Global 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" SetBuffer BackBuffer () Repeat TileBlock hinter2 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 Function Einstellungen() Repeat Cls Text 100,100, "Hier dran wird noch gearbeitet.Zrück mit Esc." Flip Until KeyHit(1) FlushKeys End Function Function Ende() Repeat Cls Text 100,100, "Um zu beenden bitte Esc oder Leertaste drücken." Flip Until KeyHit(1) Or KeyHit(57) End End Function Function Start() Repeat Cls DrawImage auftrag1, 200,200 ; ; Hauptschleife Level 1 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter, 0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf ;Kollision Alien2 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien2(J,1), Alien2(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Explosion Alien2 If Alien2(I,0) = -1 Then If AlienExplodiert2(I,1) + 100 < MilliSecs() Then AlienExplodiert2(I,0) = AlienExplodiert2(I,0) + 1 AlienExplodiert2(I,1) = MilliSecs() If AlienExplodiert2(I,0) = 6 Then AlienExplodiert2(I,0) = 0 AlienExplodiert2(I,1) = 0 Alien2(I,0) = 0 EndIf EndIf DrawImage explosion, Alien2(I,1), Alien2(I,2), AlienExplodiert2(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ;Kollision2 If ImagesOverlap(alienbild, Alien2(I,1), Alien2(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien2(I,0) = -1 Text 200,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) ;Aliensteuerung2 If Alien2(I,0) = 0 Then Alien2(I,0) = Rand(240,210) Alien2(I,1) = Rand(20,120) Alien2(I,2) = Rand(100,0) EndIf If Alien2(I,0) <> -1 Then Alien2(I,2) = Alien2(I,2) + 1 Alien2(I,1) = 200 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien2(I,2) > 480 Then Alien2(I,0) = 0 If Alien2(I,0) <> -1 Then DrawImage alienbild, Alien2(I,1), Alien2(I,2) Next WaitTimer(timer) Flip Until KeyHit(1) Until KeyHit(1) End Function |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab jetzt Level2 geprogt. ![]() Ich starte - das Hauptmenü komt- ich klicke af start- ich sehe das Haptmenü und qasi hinter dem Hauptmenü läuft das Spiel. Hieeeeeeeeeeelfe!Was mach ich den nr Falsch? (Ja ich weis mist code, schrottcode...) Code: [AUSKLAPPEN] Graphics 640,480,16,1
SetBuffer BackBuffer() Global hinter = LoadImage("Gfx/stars.bmp") Global schiff = LoadImage("Gfx/R4.bmp") Global alienbild = LoadImage("Gfx/Rock1.bmp") Global rakete = LoadImage("Gfx/torpedo0016.bmp") Global explosion = LoadAnimImage("Gfx/explodeA.bmp", 60,46, 0,6) Global schusston = LoadSound("Sound/soundfx11.wav") Global trefferton = LoadSound("Sound/soundfx25.wav") Global tiles = LoadImage ("Gfx/blocks1.bmp") Global maus = LoadImage ("Gfx/pointer.bmp") Global hinter2 = LoadImage("Gfx/stars2.bmp") Global hinter3 = LoadImage("Wüste.bmp") Global auftrag1 = LoadImage("auftrag1.bmp") Global raumstation = LoadImage ("Raumstation.bmp") Dim Rak(100,2) Dim Alien(5,2) Dim AlienExplodiert(5,1) Dim Alien2(5,2) Dim AlienExplodiert2(5,2) Global X = 305 Global Y = 420 Global timer = CreateTimer(60) ; Graphik für Menüpunkt erzeugen Global 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 Global 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" SetBuffer BackBuffer () Repeat TileBlock hinter2 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 Function Einstellungen() Repeat Cls Text 100,100, "Hier dran wird noch gearbeitet.Zrück mit Esc." Flip Until KeyHit(1) FlushKeys End Function Function Ende() Repeat Cls Text 100,100, "Um zu beenden bitte Esc oder Leertaste drücken." Flip Until KeyHit(1) Or KeyHit(57) End End Function Function Start() Repeat Cls DrawImage auftrag1, 200,200 ; ; Hauptschleife Level 1 ; X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter, 0,H DrawImage schiff, X,Y ;Punkte Anzeige Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf ;Kollision Alien2 If Rak(I,0) <> 0 Then For J=1 To 5 If ImagesOverlap(alienbild, Alien2(J,1), Alien2(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf Next For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Explosion Alien2 If Alien2(I,0) = -1 Then If AlienExplodiert2(I,1) + 100 < MilliSecs() Then AlienExplodiert2(I,0) = AlienExplodiert2(I,0) + 1 AlienExplodiert2(I,1) = MilliSecs() If AlienExplodiert2(I,0) = 6 Then AlienExplodiert2(I,0) = 0 AlienExplodiert2(I,1) = 0 Alien2(I,0) = 0 EndIf EndIf DrawImage explosion, Alien2(I,1), Alien2(I,2), AlienExplodiert2(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ;Kollision2 If ImagesOverlap(alienbild, Alien2(I,1), Alien2(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien2(I,0) = -1 Text 200,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 If Alien(I,0) <> -1 Then DrawImage alienbild, Alien(I,1), Alien(I,2) ;Aliensteuerung2 If Alien2(I,0) = 0 Then Alien2(I,0) = Rand(240,210) Alien2(I,1) = Rand(20,120) Alien2(I,2) = Rand(100,0) EndIf If Alien2(I,0) <> -1 Then Alien2(I,2) = Alien2(I,2) + 1 Alien2(I,1) = 200 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien2(I,2) > 480 Then Alien2(I,0) = 0 If Alien2(I,0) <> -1 Then DrawImage alienbild, Alien2(I,1), Alien2(I,2) If Punkte = Punkte >1500 Then ;Level 2 Dim Rak(100,2) Dim Alien(10,2) Dim AlienExplodiert(10,1) Dim Alien2(10,2) Dim AlienExplodiert2(10,2) X = 305 Y = 420 DrawImage auftrag2, 200,200 Delay 50000 ;Hauptschleife Level 2 X = 400 Y = 500 Repeat Cls H = H+1 If H=200 Then H=0 TileBlock hinter2, 0,H DrawImage schiff, X,Y ;Raumstation DrawImage raumstation, 630,380 ;Punkte Anzeige2 Text 400,10, "Sie haben "+punkte+" Punkte Punkte = Punkte +1 ; Schuß-Test2 If KeyHit(57) Then Schuss = Schuss + 1 If Schuss = 101 Then Schuss = 1 Rak(Schuss,0) = 1 Rak(Schuss,1) = X+33 Rak(Schuss,2) = Y-19 PlaySound(schusston) EndIf ; Pfeiltasten abfragen2 If KeyDown(200) = 1 Then Y = Y - 1 If KeyDown(208) = 1 Then Y = Y + 1 If KeyDown(205) = 1 Then X = X + 2 If KeyDown(203) = 1 Then X = X - 2 ; Rand-Überschreitung verhindern2 If X < 0 Then X = 0 If X > 609 Then X = 609 If Y < 0 Then Y = 0 If Y > 449 Then Y = 449 For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf For I = 1 To 100 ; ggf. Raketen zeichnen If Rak(I,0) = 1 Then DrawImage rakete, Rak(I,1), Rak(I,2) Rak(I,2) = Rak(I,2) - 10 EndIf ; Kollision testen If Rak(I,0) <> 0 Then For J=1 To 10 If ImagesOverlap(alienbild, Alien(J,1), Alien(J,2), rakete,Rak(I,1),Rak(I,2)) Then PlaySound(trefferton) Alien(J,0) = -1 EndIf Next EndIf For I=1 To 5 ; Explosion Alien zeichnen If Alien(I,0) = -1 Then If AlienExplodiert(I,1) + 100 < MilliSecs() Then AlienExplodiert(I,0) = AlienExplodiert(I,0) + 1 AlienExplodiert(I,1) = MilliSecs() If AlienExplodiert(I,0) = 6 Then AlienExplodiert(I,0) = 0 AlienExplodiert(I,1) = 0 Alien(I,0) = 0 EndIf EndIf DrawImage explosion, Alien(I,1), Alien(I,2), AlienExplodiert(I,0) EndIf ;Kollision Komet-Spieler If ImagesOverlap(alienbild, Alien(I,1), Alien(I,2), schiff ,X,Y) Then PlaySound(trefferton) Alien(I,0) = -1 Text 250,250, "Game Over" Flip Delay 2000 End EndIf ; Alien-Steuerung If Alien(I,0) = 0 Then Alien(I,0) = Rand(100,400) Alien(I,1) = Rand(-20,640) Alien(I,2) = Rand(-100,0) EndIf If Alien(I,0) <> -1 Then Alien(I,2) = Alien(I,2) + 1 Alien(I,1) = 320 + Sin( Alien(I,2) ) * Alien(I,0) EndIf If Alien(I,2) > 480 Then Alien(I,0) = 0 ;Kollision Raumstation-Spieler If ImagesOverlap(raumstation, 630,380, schiff,X,Y) Text 250,250, "Sie haben das Level gewonnen" Delay 2000 End EndIf Next WaitTimer(timer) Flip Next Next Until KeyHit(1) EndIf Next Until KeyHit(1) Until KeyHit(1) End Function |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Julz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also so würd ich das nicht machen schau mal wenn du 20 level hast kopierst du einfach den code von den anderen 19 leveln und veränderst nur das hintergrundbild, is ja wohl nicht so doll
Hier en bisschen pseudo code Wenn start geklickt dann level = 1 wenn level 1 geschafft dann level 2 = 1 und level 1 = 0 wenn level 2 = 1 dann hintergrundbild ändern naja ist en bisschen blöd.......aber vielleicht en ansatz |
||
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Von der Seite hab ich das noch gar nicht gesehen!Das is ma ne Idee! ![]() Mach ich bei Level 3(versche ich zumindest wäre leichter, aber erst muss das hier funzen) |
||
BB is Macht!
Homepage: www.flori-d.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group