2d Game laggt beim Feuern
Übersicht

flexer94Betreff: 2d Game laggt beim Feuern |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo bin neu hier ![]() hab mich die letzten paar tage mal hinter BB gesetzt und hab auch schon n kleines Spiel hinbekommen .. Jetzt hab ich allerdings das Problem, dass das eigentlich Spiel angehalten wird, wenn man feuert. Ich weiß auch schon an was das liegt, aber nicht wie ichs lösen kann ![]() Hier die Source: Code: [AUSKLAPPEN] ;New Game___---___---___---___---___
AppTitle "GhettoFreaks v1.0" Global name1$ = Input("Spieler 1: ") Global name2$ = Input("Spieler 2: ") Print "Taste drücken um das Spiele zu starten!" : Color 255,0,0 :Print "Achte immer auf deinen Munitionsvorrat!" WaitKey Graphics 1024,768,32,0 frames = CreateTimer(30) Global background = LoadImage("gfx\back.png") MidHandle background Global gangster1 = LoadImage("gfx\blackone.png") MidHandle gangster1 Global gangster2 = LoadImage("gfx\whiteone.png") MidHandle gangster2 Global kugel = LoadImage("gfx\kugel.png") MidHandle kugel Global blood = LoadImage("gfx\blut.png") Global feuer = LoadImage("gfx\flame.png") weapon = LoadSound("gfx\sound\deagle.wav") weapon2 = LoadSound("gfx\sound\elite.wav") DrawImage(background,1024/2,768/2,0) SetBuffer BackBuffer() ;Some Globals Global Leben1 = 100 Global Leben2 = 100 Global p1y = 100 Global p2y = 600 Global g1_X = 830 Global g2_X = 200 Global x_ku1 = g1_x Global y_ku1 = p1y - 22 Global x_ku2 = g2_x Global y_ku2 = p2y + 22 Global ammo_p1 = 25 Global ammo_p2 = 25 ;MainSound backmusic = LoadSound("gfx\sound\background.mp3") PlaySound(backmusic) ;MAIN_____ Repeat ;_____ .start Cls WaitTimer(frames) DrawImage(background,1024/2,768/2,0) Color(255,0,0) ;____________ Text (50,5,name2 + " Leben: " + leben1 + " Munition: " + ammo_p2 + " Schuss") ;____________ Text (540,5,name1 + " Leben: " + leben2 + " Munition: " + ammo_p1 + " Schuss") DrawImage(gangster1,g1_X,p1y) DrawImage(gangster2,g2_X,p2y) If KeyDown(208) Then p1y = p1y + 5 If KeyDown(200) Then p1y = p1y - 5 If KeyHit(82) Then ;feuer ;SCHUSS Spieler 1 PlaySound(weapon) ammo_p1 = ammo_p1 - 1 While x_ku1 > 0 Cls DrawImage(background,1024/2,768/2,0) Text (50,5,name2 + " Leben: " + leben1 + " Munition: " + ammo_p2 + " Schuss") Text (540,5,name1 + " Leben: " + leben2 + " Munition: " + ammo_p1 + " Schuss") DrawImage(gangster1,g1_X,p1y) DrawImage(gangster2,g2_X,p2y) DrawImage(kugel,x_ku1-30,p1y-22) x_ku1 = x_ku1 - 50 DrawImage(feuer,g1_x-57,p1y-33) If ImagesCollide(kugel,x_ku1,p1y - 22,0,gangster2,g2_x,p2y,0) = 1 Then leben1 = leben1 - 5 DrawImage(blood,g2_x,p2y) EndIf Flip Delay(10) Wend EndIf ;SCHUSS ende ;neuzuweisung x_ku1 = g1_x ;ende neuzuweisung If KeyDown(17) Then p2y = p2y - 5 If KeyDown(31) Then p2y = p2y + 5 If KeyHit(57) Then ;feuer("s2");Noch definieren!!!! PlaySound(weapon2) ammo_p2 = ammo_p2 - 1 While x_ku2 < 1024 Cls DrawImage(background,1024/2,768/2,0) Text (50,5,name2 + " Leben: " + leben1 + " Munition: " + ammo_p2 + " Schuss") Text (540,5,name1 + " Leben: " + leben2 + " Munition: " + ammo_p1 + " Schuss") DrawImage(gangster1,g1_X,p1y) DrawImage(gangster2,g2_X,p2y) DrawImage(kugel,x_ku2 + 30,p2y-22) x_ku2 = x_ku2 + 50 DrawImage(feuer,g2_x + 30, p2y - 36) If ImagesCollide(kugel,x_ku2,p2y - 22,0,gangster1,g1_x,p1y,0) = 1 Then leben2 = leben2 - 5 DrawImage(blood,g1_x + 30,p1y) EndIf Flip Delay(10) Wend EndIf ;neuzuweisung x_ku2 = g2_x ;ende neuzuweisung If leben1 <= 0 Or ammo_p2 <= 0 Then EndGraphics Print (name2 + " gewinnt! Mausklick zum Beenden.") WaitMouse End ElseIf leben2 <= 0 Or ammo_p1 <=0 Then EndGraphics Print (name1 + " gewinnt! Mausklick zum Beenden.") WaitMouse End EndIf ;Spieler 1 aus dem Bildschirm? If p2y < 0 Then p2y = 768 If p2y > 768 Then p2y = 0 ;Spieler 2 aus dem Bildschirm? If p1y < 0 Then p1y = 768 If p1y > 768 Then p1y = 0 Flip ;_____ Until KeyHit(1) Cls Print "Bis zum nächsten mal :D!" WaitKey End ;_____ Es isn bisschen durcheinander mit p1 und p2 aber am Ende hats gestimmt ![]() |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Flip
Delay(10) Ist ja wirklich böse. Verwende einen Timer und Flip 0 Außerdem ist dein Code etwas sonderbar. Wieviele verschachtelte While-Schleifen sind das? o_O Ich denk mal, dass es daran liegt. Wenn du Schüsse realisieren willst, solltest du dir besser Types anschaun ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
flexer94 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm ..
Ich dachte ich komm um die Types drum herum ![]() naja muss ich mir mal anschaun |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
mhh
ich denke gerade bei Schüssen wirst du nicht drum herumkommen. BlitzBasic: [AUSKLAPPEN]
mehr braucht man doch nicht zu wissen, wenn man schüsse macht. Wenn du mehr über Types wissen willst, lohnt es sich Tutorials anzuschauen. Greez TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es geht auch mit einem array, aber ist dann unflexibler.
Dein Hauptproblem ist allerdings dass Du den Code ausbremst indem Du alles strikt nacheinander erledigen lässt. Der richtige Weg ist in jedem Schleifendurchlauf von allem nur den nächsten Schritt ausführen zu lassen. Ach ja: ~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group