2 Fragen zum Spiel!!! 1stens Schuss!!! 2tens Textausgabe!!!
Übersicht

Hurrikan256Betreff: 2 Fragen zum Spiel!!! 1stens Schuss!!! 2tens Textausgabe!!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute.
Ein Trottel brauch hilfe ![]() Ich Programmiere im moment (1stes Projekt) ein SpaceShooter 2D und hab 2 Probleme die mir auf....na ihr wisst schon geht ![]() 1.(hoffe Punkt 1 ist richtiges Thead) Ich möchte im Laufenden Spiel eine Textausgabe in einem Chatfenster haben. So ne Art Missionauftrag. Aber immer wenn ich das versuche Krieg ich den Text auf nem Schwarzen Screen und mein Spiel ist wech^^ Der Text ist zwar an der richtigen Stelle aber der Rest ist weg....das Nervt^^ 2. Ich will Alien Totschießen und hab mir ne schöne Kanone gebaut doch wenn ich schieße dann sieht das mehr aus wie ein Laser. Also Frage: Wie kann ich die Geschwindigkeit des Schusses einstellen. Hab es schon mit Delay versucht aber dann bleibt alles stehen und nach der angegebenen Zeit (im Delay) kommt wieder der Schnelle Schuss. Code Folgt PLS HELP!!!!! ![]() Code: [AUSKLAPPEN] ;Schuss Schaden - Berechnung
While Leben > 0 And KeyHit(57) ;Schuss For m=1 To 1 s1.strike=New Strike s1\x = x1+18 s1\y = y1-3 s1\Schaden = 1 s1\Art = 1 Next For I = 1 To 500 For s1=Each strike DrawImage Schuss_1,s1\x,s1\y-i Next For a1=Each alien For s1=Each strike If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then a1\Leben = a1\Leben - s1\Schaden If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then Delete s1 Next Next For s1=Each strike If i = 500 Then Delete s1 Next Next PlaySound(Sound1) Wend |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
1) Ohne Code geht nichts. 2) mach bloß kein Delay. Erhöhe in der Main-Schleife die X-Variable nicht zu sehr. D.h. X=X+80 ist schnell, X=X+2 ist langsam Viele Grüße 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. |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Ausrufe Zeichen genügt meistens -.-*
Zu 1. PseudoCode cls Zeugmalen mit Text was schreiben waittimer flip wieso das bei dir nicht geht is mir n Rätsel, dafür bräuchte ich nen Code-schnipsl Zu 2. Delay = Schrott ![]() Schau dir mal Createtimer / Waittimer mit Flip 0 an mfg Edit: Zu spät :/ |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Erstmal Danke "!"(nur ein Ausrufezeichen)^^
Beim Ersten habt ihr mir troz fehlendem Code (Sorry...)Gut geholfen. Beim 2ten "Createtimer / Waittimer mit Flip 0" mach ich mich mal schlau und dankö^^ Wenn ich das nicht ralle Edit ich das nachher. ![]() EDIT: beim zweiten Passiert das GLeiche mit Delay wie mit Waittimer. Wenn ich schieße hängt das spiel kurz und dann komm wieder diese Laser kake. Also anstadt ihrgendwas langsamer wird, macht der die I =1 to 500 erst mit dem neuen framezeugs aber Drawn tut der wieder alles auf einmal... Tipps noch mal bitte^^ |
||
![]() |
ThunderBetreff: Re: 2 Fragen zum Spiel!!! 1stens Schuss!!! 2tens Textausgabe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] ;Schuss Schaden - Berechnung
While Leben > 0 And KeyHit(57) ;Schuss For m=1 To 1 s1.strike=New Strike s1\x = x1+18 s1\y = y1-3 s1\Schaden = 1 s1\Art = 1 Next For I = 1 To 500 For s1=Each strike DrawImage Schuss_1,s1\x,s1\y-i Next For a1=Each alien For s1=Each strike If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then a1\Leben = a1\Leben - s1\Schaden If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then Delete s1 Next Next For s1=Each strike If i = 500 Then Delete s1 Next Next PlaySound(Sound1) Wend Ist das die gesamte Hauptschleife? Verwendest du Double-Buffering? Vielleicht sehe ich was falsch, aber was bringt For m=1 to 1? |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
m = 1 to 1 bring mir nur, dass das schön für mich anfänger schön formal bleibt falls ich mal später ne waffe bastle mit 2 Schüssen. ich schick dir mal meine Hauptschleife mit allem drin.
Code: [AUSKLAPPEN] Repeat ;Hauptschleife Cls DrawImage Terrain,x2,y2 DrawImage Terrain,x2,y2-600 DrawImage Platine,xpla,ypla DrawImage Lebensanzeige,xLeb,yLeb PrintL "Versuchen Sie so viele Gegner wie",470,500 PrintL "möglich zu töten!!!",470,515 PrintL "Punkte:",160,567 PrintP Punkte,220,568 For a1=Each alien DrawImage Enemy_1,a1\x,a1\y If a1\Leben > 0 And a1\y > y1 Then a1\y= a1\y -1 ;KI If a1\Leben > 0 And a1\y < y1 Then a1\y= a1\y +1 If a1\Leben > 0 And a1\x < x1 Then a1\x= a1\x +1 If a1\Leben > 0 And a1\x > x1 Then a1\x= a1\x -1 Next If Leben > 0 Then DrawImage Lebenspunkt,xLep1,yLepall If Leben > 1 Then DrawImage Lebenspunkt,xLep2,yLepall If Leben > 2 Then DrawImage Lebenspunkt,xLep3,yLepall If Leben > 3 Then DrawImage Lebenspunkt,xLep4,yLepall If Leben > 4 Then DrawImage Lebenspunkt,xLep5,yLepall If Leben > 5 Then DrawImage Lebenspunkt,xLep6,yLepall If Leben > 6 Then DrawImage Lebenspunkt,xLep7,yLepall If Leben > 7 Then DrawImage Lebenspunkt,xLep8,yLepall If Leben > 8 Then DrawImage Lebenspunkt,xLep9,yLepall If Leben > 9 Then DrawImage Lebenspunkt,xLep10,yLepall ;Schuss Schaden - Berechnung While Leben > 0 And KeyHit(57) ;Schuss For m=1 To 1 s1.strike=New Strike s1\x = x1+18 s1\y = y1-3 s1\Schaden = 1 s1\Art = 1 Next For I = 1 To 500 For s1=Each strike DrawImage Schuss_1,s1\x,s1\y-i Next For a1=Each alien For s1=Each strike If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then a1\Leben = a1\Leben - s1\Schaden If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then Delete s1 Next Next For s1=Each strike If i = 500 Then Delete s1 Next Next PlaySound(Sound1) Wend ;Gegner Spawn und dead For a1=Each alien If ImagesOverlap(Jet,x1,y1,Enemy_1,a1\x,a1\y) =1 Then a1\Leben = a1\Leben -1 If ImagesOverlap(Jet,x1,y1,Enemy_1,a1\x,a1\y) =1 Then Leben = Leben -1 Next For a1=Each alien While a1\Leben < 1 If a1\Leben < 1 Then Punkte = Punkte + a1\Punkte If a1\Leben < 1 Then DrawMovie Enemy_1_Explosion,a1\x,a1\y If a1\Leben < 1 Then Delete a1 For i=1 To 1 a1.alien=New alien a1\x=Rand(0,800) a1\y=Rand(100,-2000) a1\Leben = 1 a1\Punkte= 2 Next Wend ;Jet Bewegen Next If Leben > 0 And KeyDown(203) Then x1=x1-6 If Leben > 0 And KeyDown(205) Then x1=x1+6 If x1 < 1 Then x1 = 1 If x1 > 750 Then x1 = 750 If Leben > 0 And KeyDown(208) Then y1=y1+6 If Leben > 0 And KeyDown(200) Then y1=y1-6 If y1 > 420 Then y1 = 420 If y1 < 1 Then y1 = 1 If Leben > 0 And KeyDown(203) Then DrawImage Jet_links,x1,y1 If Leben > 0 And KeyDown(205) Then DrawImage Jet_rechts,x1,y1 If Not KeyDown(203) Or KeyDown(205) Or Leben < 1 Then DrawImage Jet,x1,y1 If Leben > 0 And KeyDown(203) And KeyDown(205) Then DrawImage Jet,x1,y1 ;Hintergrund bewegen If start = 1 Then y2=y2+5 If y2 > 600 Then y2 = 0 Flip Until KeyDown(1) End Hope das hilft dir besser^^ |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Repeat ;Hauptschleife Cls DrawImage Terrain,x2,y2 DrawImage Terrain,x2,y2-600 DrawImage Platine,xpla,ypla DrawImage Lebensanzeige,xLeb,yLeb PrintL "Versuchen Sie so viele Gegner wie",470,500 PrintL "möglich zu töten!!!",470,515 PrintL "Punkte:",160,567 PrintP Punkte,220,568 For a1=Each alien DrawImage Enemy_1,a1\x,a1\y If a1\Leben > 0 And a1\y > y1 Then a1\y= a1\y -1 ;KI If a1\Leben > 0 And a1\y < y1 Then a1\y= a1\y +1 If a1\Leben > 0 And a1\x < x1 Then a1\x= a1\x +1 If a1\Leben > 0 And a1\x > x1 Then a1\x= a1\x -1 Next If Leben > 0 Then DrawImage Lebenspunkt,xLep1,yLepall If Leben > 1 Then DrawImage Lebenspunkt,xLep2,yLepall If Leben > 2 Then DrawImage Lebenspunkt,xLep3,yLepall If Leben > 3 Then DrawImage Lebenspunkt,xLep4,yLepall If Leben > 4 Then DrawImage Lebenspunkt,xLep5,yLepall If Leben > 5 Then DrawImage Lebenspunkt,xLep6,yLepall If Leben > 6 Then DrawImage Lebenspunkt,xLep7,yLepall If Leben > 7 Then DrawImage Lebenspunkt,xLep8,yLepall If Leben > 8 Then DrawImage Lebenspunkt,xLep9,yLepall If Leben > 9 Then DrawImage Lebenspunkt,xLep10,yLepall ;Schuss Schaden - Berechnung While Leben > 0 And KeyHit(57) ;Schuss For m=1 To 1 s1.strike=New Strike s1\x = x1+18 s1\y = y1-3 s1\Schaden = 1 s1\Art = 1 Next For I = 1 To 500 For s1=Each strike DrawImage Schuss_1,s1\x,s1\y-i Next For a1=Each alien For s1=Each strike If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then a1\Leben = a1\Leben - s1\Schaden If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then Delete s1 Next Next For s1=Each strike If i = 500 Then Delete s1 Next Next PlaySound(Sound1) Wend ;Gegner Spawn und dead For a1=Each alien If ImagesOverlap(Jet,x1,y1,Enemy_1,a1\x,a1\y) =1 Then a1\Leben = a1\Leben -1 If ImagesOverlap(Jet,x1,y1,Enemy_1,a1\x,a1\y) =1 Then Leben = Leben -1 Next For a1=Each alien While a1\Leben < 1 If a1\Leben < 1 Then Punkte = Punkte + a1\Punkte If a1\Leben < 1 Then DrawMovie Enemy_1_Explosion,a1\x,a1\y If a1\Leben < 1 Then Delete a1 For i=1 To 1 a1.alien=New alien a1\x=Rand(0,800) a1\y=Rand(100,-2000) a1\Leben = 1 a1\Punkte= 2 Next Wend ;Jet Bewegen Next If Leben > 0 And KeyDown(203) Then x1=x1-6 If Leben > 0 And KeyDown(205) Then x1=x1+6 If x1 < 1 Then x1 = 1 If x1 > 750 Then x1 = 750 If Leben > 0 And KeyDown(208) Then y1=y1+6 If Leben > 0 And KeyDown(200) Then y1=y1-6 If y1 > 420 Then y1 = 420 If y1 < 1 Then y1 = 1 If Leben > 0 And KeyDown(203) Then DrawImage Jet_links,x1,y1 If Leben > 0 And KeyDown(205) Then DrawImage Jet_rechts,x1,y1 If Not KeyDown(203) Or KeyDown(205) Or Leben < 1 Then DrawImage Jet,x1,y1 If Leben > 0 And KeyDown(203) And KeyDown(205) Then DrawImage Jet,x1,y1 ;Hintergrund bewegen If start = 1 Then y2=y2+5 If y2 > 600 Then y2 = 0 Flip Until KeyDown(1) End Jetzt ist das ganze schon etwas einfacher. Geh mal deine For I=1 to 500 - Schleife durch. Du zeichnest 500 mal dein Schussbild und dann flipst du erst -> für den Benutzer sieht es so aus als währe es ein Laserstrahl. Aufbau würde ich so machen: Code: [AUSKLAPPEN] If Keyhit(57) Then
shot.Tshot=New Tshot shot\x=? shot\y=? schuss=1 endif If schuss=1 Then For shot=Each Tshot shot\y=shot\y-1 drawimage shotimage,shot\x,shot\y If shot\y<0 then delete shot Next Ist jetzt nur der Aufbau eines Teils in der Hauptschleife.[/code] |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sry Leider hilft das nicht weil dann spinnt der mit "Repeat without until" oder "Next without for " immer wenn ich das anders vershiebe ne neue Meldung "Wend without while"...
pls Help will nur schießen können... ![]() Hier habt ihr meinen Ganzen code. Vielleicht hilfts.. Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() Frame = CreateTimer(60) ;Jet x1 = 380 y1 = 420 Leben = 10 Punkte = 0 ;Hintergrund x2 = 0 y2 = 0 x3 = 0 y3 = 0 start = 1 ;Enemy1 Type alien Field x Field y Field Leben Field Punkte End Type ;Schuss Type Strike Field x Field y Field Schaden End Type ;Platine Koordinaten xpla = 0 ypla = 482 ;Lebensanzeige xLeb = 20 yLeb = 502 ;Lebenspunkt xLep1 =23 xLep2 =29 xLep3 =35 xLep4 =41 xLep5 =47 xLep6 =53 xLep7 =59 xLep8 =65 xLep9 =71 xLep10 =77 yLepall =505 ;Bilder Laden Lebenspunkt = LoadImage ("Graphics\Menü\InGame\Lebenspunkt.bmp") Lebensanzeige = LoadImage("Graphics\Menü\InGame\Lebensanzeige.bmp") Platine = LoadImage("Graphics\Menü\InGame\Platine.bmp") Jet = LoadImage("Graphics\Model\Player\Jet_1_normal.bmp") Terrain = LoadImage("Graphics\Terrain\Space_1.bmp") Jet_links = LoadImage("Graphics\Model\Player\Jet_1_links.bmp") Jet_rechts = LoadImage("Graphics\Model\Player\Jet_1_rechts.bmp") Schuss_1 = LoadImage("Graphics\Weapons\Bam_1.bmp") Game_over = LoadImage("Graphics\Menü\InGame\Game_over.bmp") Enemy_1 = LoadImage("Graphics\Model\Enemy\Enemy_1.bmp") ;Video Laden Enemy_1_Explosion = OpenMovie("Graphics\Model\Player\Jet_explosion.gif") ;Audio Laden Musik1 = PlayMusic("-Sound\music\DragonForce - Through The Fire And Flames.mp3") Sound1 = LoadSound("-Sound\Effect\Psiu.wav") ;Enemy For i=1 To 50 a1.alien=New alien a1\x=Rand(0,800) a1\y=Rand(100,-2000) a1\Leben = 1 a1\Punkte= 2 Next Repeat ;Hauptschleife Cls DrawImage Terrain,x2,y2 DrawImage Terrain,x2,y2-600 DrawImage Platine,xpla,ypla DrawImage Lebensanzeige,xLeb,yLeb For a1=Each alien DrawImage Enemy_1,a1\x,a1\y If a1\Leben > 0 And a1\y > y1 Then a1\y= a1\y -1 ;KI If a1\Leben > 0 And a1\y < y1 Then a1\y= a1\y +1 If a1\Leben > 0 And a1\x < x1 Then a1\x= a1\x +1 If a1\Leben > 0 And a1\x > x1 Then a1\x= a1\x -1 Next If Leben > 0 Then DrawImage Lebenspunkt,xLep1,yLepall If Leben > 1 Then DrawImage Lebenspunkt,xLep2,yLepall If Leben > 2 Then DrawImage Lebenspunkt,xLep3,yLepall If Leben > 3 Then DrawImage Lebenspunkt,xLep4,yLepall If Leben > 4 Then DrawImage Lebenspunkt,xLep5,yLepall If Leben > 5 Then DrawImage Lebenspunkt,xLep6,yLepall If Leben > 6 Then DrawImage Lebenspunkt,xLep7,yLepall If Leben > 7 Then DrawImage Lebenspunkt,xLep8,yLepall If Leben > 8 Then DrawImage Lebenspunkt,xLep9,yLepall If Leben > 9 Then DrawImage Lebenspunkt,xLep10,yLepall ;Schuss Schaden - Berechnung While Leben > 0 And KeyHit(57) ;Schuss For m=1 To 1 s1.strike=New Strike s1\x = x1+18 s1\y = y1-3 s1\Schaden = 1 Next For I = 1 To 500 For s1=Each strike DrawImage Schuss_1,s1\x,s1\y-i Next For a1=Each alien For s1=Each strike If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then a1\Leben = a1\Leben - s1\Schaden If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then Delete s1 Next Next For s1=Each strike If i = 500 Then Delete s1 Next Next PlaySound(Sound1) Wend For a1=Each alien If ImagesOverlap(Jet,x1,y1,Enemy_1,a1\x,a1\y) =1 Then a1\Leben = a1\Leben -1 If ImagesOverlap(Jet,x1,y1,Enemy_1,a1\x,a1\y) =1 Then Leben = Leben -1 Next For a1=Each alien If a1\Leben < 1 Then DrawMovie Enemy_1_Explosion,a1\x,a1\y If a1\Leben < 1 Then Delete a1 Next If Leben > 0 And KeyDown(203) Then x1=x1-6 ;Jet Bewegen If Leben > 0 And KeyDown(205) Then x1=x1+6 If x1 < 1 Then x1 = 1 If x1 > 750 Then x1 = 750 If Leben > 0 And KeyDown(208) Then y1=y1+6 If Leben > 0 And KeyDown(200) Then y1=y1-6 If y1 > 420 Then y1 = 420 If y1 < 1 Then y1 = 1 If Leben > 0 And KeyDown(203) Then DrawImage Jet_links,x1,y1 If Leben > 0 And KeyDown(205) Then DrawImage Jet_rechts,x1,y1 If Not KeyDown(203) Or KeyDown(205) Or Leben < 1 Then DrawImage Jet,x1,y1 If Leben > 0 And KeyDown(203) And KeyDown(205) Then DrawImage Jet,x1,y1 If start = 1 Then y2=y2+5 ;Hintergrund bewegen If y2 > 600 Then y2 = 0 Flip Until KeyDown(1) |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau dir nochmal den Type![]() ![]() |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mich vielleicht vorhin nicht so klar ausgedrückt. Also die ganze While-Schleife weg und stattdessen:
Ob es noch Fehler gibt weiß ich nicht. Hab die Grafiken nicht. Und auch wenn ich dir den Codeabschnitt schon hinlege, solltest du dir wie schon von Hectic gesagt die Befehle Type ![]() ![]() Code: [AUSKLAPPEN] If KeyHit(57) Then
s1.strike=New Strike s1\x = x1+18 s1\y = y1-3 s1\Schaden = 1 PlaySound(Sound1) EndIf For s1=Each strike s1\y=s1\y+2 DrawImage Schuss_1,s1\x,s1\y If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then a1\Leben = a1\Leben - s1\Schaden If ImagesOverlap(Schuss_1,s1\x,s1\y-i,Enemy_1,a1\x,a1\y)= 1 Then Delete s1 If s1\y>=500 Then Delete s1 Next - Jetzt hab ichs auf deinen Code abgestimmt. /Edit: Du warst nicht der mit dem Buch sry. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
- Zuletzt bearbeitet von Thunder am So, Dez 21, 2008 21:03, insgesamt einmal bearbeitet
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So wie ich das geschrieben hab geht es ja nur nich so wie ich will(mit dem Schuss anstadt Strahl)
Und bin erst 3 Tage dabei und hab bis jetzt versucht alles ohne vorgefertigtes schema zu machen doch das mit dem schuss ist mir zu hoch xD aber ich werde weiter gucken... Edit : Danke hab ich nich gesehen ich guxx mal |
||
- Zuletzt bearbeitet von Hurrikan256 am So, Dez 21, 2008 20:39, insgesamt einmal bearbeitet
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich nehme meine vorherige Behauptung zurück, da es auch so geht. Allerdings sind mir ein paar Dinge noch aufgefallen:
Was soll das hier? Code: [AUSKLAPPEN] ;Lebenspunkt
xLep1 =23 xLep2 =29 xLep3 =35 xLep4 =41 ... Mach das lieber per Dim ![]() Anstelle Code: [AUSKLAPPEN] If Leben > 0 Then DrawImage Lebenspunkt,xLep1,yLepall
If Leben > 1 Then DrawImage Lebenspunkt,xLep2,yLepall If Leben > 2 Then DrawImage Lebenspunkt,xLep3,yLepall If Leben > 3 Then DrawImage Lebenspunkt,xLep4,yLepall If Leben > 4 Then DrawImage Lebenspunkt,xLep5,yLepall If Leben > 5 Then DrawImage Lebenspunkt,xLep6,yLepall If Leben > 6 Then DrawImage Lebenspunkt,xLep7,yLepall If Leben > 7 Then DrawImage Lebenspunkt,xLep8,yLepall If Leben > 8 Then DrawImage Lebenspunkt,xLep9,yLepall If Leben > 9 Then DrawImage Lebenspunkt,xLep10,yLepall Einfach Code: [AUSKLAPPEN] For Count=1 to Leben DrawImage Lebenspunkt,23+Count*6,505 Next - - - Außerdem würde ich ewig verschachtelte Schleifen versuchen zu meiden. Überlede dir wie man das ganz struktuiert machen könnte. Ich bin mir sicher das man den Code auf die Hälfte an Codezeilen und dabei auch noch effektiever programmieren könnte. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich Glaube ich habs....^^
Danke an alle feißigen Helfer. Ich werde mir eure Ratschläge zu Herzen nehemen. Das Buch kenn ich aber ich habs selber nicht. Ich hab mir die Befehle von hier, wiki, und den ersten 5 seiten von diesem Buch.^^ Und Sorry wegen meiner Code Struktur aber nach 3 Tagen bin ich froh das überhaupt was geht^^ Viel Spaß Euch Code Monkeys noch ![]() EDIT: Habe doch noch eine Frage. Wenn ich stadt KeyHit Keydown mache kriege ich wieder son strahl...das ja klar. Wenn ich nu ein Maschinengewehr haben möchte muss ich ja keydown machen. Aufgepasst...meine Frage is nu wie ich den ab stand zuwischen den schüssen endern kann? Das troz Keydown die schüsse abstand haben. Maschinengewehr eben^^ Pls tipps. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Variable hoch zählen oder Zeit messen und nur wenn die Variable einen bestimmten Wert oder eine bestimmte Zeit abgelaufen ist, soll eben ein Schuss ebgefeuert werden. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Hectic.
Du bis mir heute eine sehr große Hilfe^^ Ich hab mich für das variable zählen entschieden weil ich nich weiß wie das andere geht. Vielleicht kannst du mir da noch einen Link schicken (mit der Zeit) wo das erkärt ist..oder jmd anders^^ |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,32,2 ;grafikmodus
SetBuffer BackBuffer() ;Dobblebuffering initalisieren While Not KeyHit(1) ;Schleife If MilliSecs()>verlaufene_zeit+500 ;Wenn die akktuelle Zeit grösser ist als die Verlaufene Zeit + 500 ms ( halbe sekunde) verlaufene_zeit=MilliSecs();Wird die verlaufene Zeit = der aktuellen y=y+15 ;Bewirkt nur das Schuss ein wenig mehr unten gezeichnet wird Text 0,y,"*Schuss*" EndIf Flip ;Buffer Flipen Wend ;Schleife Beenden End mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Hurrikan256 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Leute^^
Wichtig gute Community hier ![]() Wenn mein Spiel fertig is sach ich euch bescheid xD |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group