Code mal anschauen
Übersicht

Jul3sBetreff: Code mal anschauen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute, ich hab mal ne frage wegen dieser functions,
schaut euch mal den code, wo liegt da der fehler. Muss ich für die game function nochmal eine neue spielschleife erstellen oder wie. Ich raffs irgendwie nicht: Code: [AUSKLAPPEN] Graphics 800, 600,0,1 SetBuffer BackBuffer() Global bg_a = 200 Global bg_b = 200 Global pl_x = 300 Global pl_y = 300 Global game_bg = LoadImage("bg.bmp") Global game_bg1 = LoadImage("bg1.bmp") Global menu_bg = LoadImage("menu_bg.bmp") Global maus_c = LoadImage("maus_c.bmp") Global button_1 = LoadImage("button_1.bmp") Global button_2 = LoadImage("button_2.bmp") Global button_o = LoadImage("button_o.bmp") Global button_eg = LoadImage("button_eg.bmp") Global pl_ship = LoadImage("pl_ship.bmp") MaskImage game_bg1,0,0,0 MaskImage maus_c,255,0,0 Repeat Cls menu() Flip Until KeyDown(1) Function menu() maus_x = MouseX() maus_y = MouseY() DrawImage menu_bg,-110,-170 DrawImage button_1,150,100 DrawImage button_2,150,200 DrawImage button_o,150,300 DrawImage button_eg,150,400 DrawImage maus_c,maus_x,maus_y If ImagesOverlap(button_1,150,100,maus_c,maus_x,maus_y) And MouseDown(1) Then game() EndIf End Function Function game() Repeat Cls bg_a = bg_a - 1 If bg_a = 0 Then bg_a = 200 TileBlock game_bg,bg_a,0 bg_b = bg_b - 2 If bg_b = 0 Then bg_b = 200 DrawImage game_bg1,bg_b,0 If KeyDown(32) Then pl_x = pl_x + 1 If KeyDown(30) Then pl_x = pl_x - 1 If KeyDown(31) Then pl_y = pl_y + 1 If KeyDown(17) Then pl_y = pl_y - 1 DrawImage pl_ship,pl_x,pl_y Until KeyDown(1) End Function |
||
![]() |
Ornos |
![]() Antworten mit Zitat ![]() |
---|---|---|
definiere mal genau was nicht geht | ||
Jul3s |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn die funtion game() aufgerufen wird (also wenn ich mit der maus auf den einen button klicke) dann bleibt die maus hängen und das bild ändert sich nicht dabei soll der in die function game() springen | ||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, ich mache das immer so:
Code: [AUSKLAPPEN] .... While Not(keyHit(1)) cls select status case 0 menu() case 1 game() ;.......... end select flip wend So brauchst du keine Schleife in der Funktion Game mehr.... |
||
Jul3s |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ahhh ok ich werds mal probieren danke | ||
![]() |
Surat |
![]() Antworten mit Zitat ![]() |
---|---|---|
If ImagesOverlap(button_1,150,100,maus_c,maus_x,maus_y) And MouseDown(1) Then
game() EndIf Das funzt nicht? BlitzBasic: [AUSKLAPPEN]
|
||
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)
AZUON-Beyond the dark life (2%) SOULS OF DESTINY (23%) |
Jul3s |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke schon mal habs jetzt mal nach simis vorschlag gemacht
klappt auch bis auf eine stelle aber das dürfte glaub'ch kein problem sein: Code: [AUSKLAPPEN] Graphics 800, 600,0,1 SetBuffer BackBuffer() bg_a = 200 bg_b = 200 pl_x = 300 pl_y = 300 mode = 1 game_bg = LoadImage("bg.bmp") game_bg1 = LoadImage("bg1.bmp") menu_bg = LoadImage("menu_bg.bmp") maus_c = LoadImage("maus_c.bmp") button_1 = LoadImage("button_1.bmp") button_2 = LoadImage("button_2.bmp") button_o = LoadImage("button_o.bmp") button_eg = LoadImage("button_eg.bmp") pl_ship = LoadImage("pl_ship.bmp") MaskImage game_bg1,0,0,0 MaskImage maus_c,255,0,0 Repeat Cls Select mode Case 1 maus_x = MouseX() maus_y = MouseY() DrawImage menu_bg,-110,-170 DrawImage button_1,150,100 DrawImage button_2,150,200 DrawImage button_o,150,300 DrawImage button_eg,150,400 DrawImage maus_c,maus_x,maus_y If ImagesOverlap(button_1,150,100,maus_c,maus_x,maus_y) And MouseDown(1) Then mode = 2 Case 2 bg_a = bg_a - 1 If bg_a = 0 Then bg_a = 200 TileBlock game_bg,bg_a,0 bg_b = bg_b - 2 If bg_b = 0 Then bg_b = 200 DrawImage game_bg1,bg_b,0 If KeyDown(32) Then pl_x = pl_x + 1 If KeyDown(30) Then pl_x = pl_x - 1 If KeyDown(31) Then pl_y = pl_y + 1 If KeyDown(17) Then pl_y = pl_y - 1 DrawImage pl_ship,pl_x,pl_y If KeyDown(1) Then mode = 1 ; <----- der springt nicht zurück ins menu warum ?? End Select Flip Until KeyDown(1) |
||
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mode = 1 muss in die nächste zeile, darf nicht hinter dem then stehen ![]() |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If KeyDown(1) Then mode = 1 ; <----- End Select Flip Until KeyDown(1) ;<--------------- du hast 2 mal KeyDown, dann beendet sich das Programm gerade, und kann nicht in das menü zurückspringen..... @hitokiri: Mir kommt nur etwas in den Sinn: MIST!!! ![]() |
||
Michi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
im ersten Programm fehlt in der function game() das Flip 8)
(Kann jedem mal passieren) |
||
Aber..Wozu soll er gut sein???
IBM-Ingeneur über die Idee des Mikroprozessors, 1968 Code: [AUSKLAPPEN] __ <_/__\_> <--- die Wayne-Zeichnung |
Jul3s |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok danke du hast recht jetzt hab ichs verbessert
danke an alle die geholfen haben ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group