warum bewegt sich der schuss nicht??
Übersicht

![]() |
mas93Betreff: warum bewegt sich der schuss nicht?? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] AppTitle "WORM HOLE EXTREME" Graphics 640,480,16,1 SetBuffer BackBuffer() ClsColor 255,0,0 ;SACHEN LADEN Global links=LoadImage("links.bmp") MaskImage links,0,0,255 Global rechts=LoadImage("rechts.bmp") MaskImage rechts,0,0,255 Global hinten=LoadImage("hinten.bmp") MaskImage hinten,0,0,255 Global vorne=LoadImage("vorne.bmp") MaskImage vorne,0,0,255 Global spieler=links Global schussa=LoadImage("schussa.bmp") Global x# Global y# Repeat Cls laufen() If KeyDown(57)=1 Then DrawImage schussa,x,y Dim rak(100,2) If KeyHit(57) Then schuss=schuss +1 If schuss=21 Then schuss=1 rak(schuss,0)=1 rak(schuss,1) =x +10 rak(schuss,2) =y -19 EndIf Flip Until KeyHit(1) End Function laufen() If spieler=hinten And KeyHit(57) Then schussoben() If KeyDown(203) Then spieler=links : x#=x#-0.5 If KeyDown(205) Then spieler=rechts :x#=x#+0.5 If KeyDown(200) Then spieler=hinten :y#=y#-0.5 If KeyDown(208) Then spieler=vorne : y#=y#+0.5 If spieler=links Then DrawImage links,x#,y# If spieler=rechts Then DrawImage rechts,x#,y# If spieler=hinten Then DrawImage hinten,x#,y# If spieler=vorne Then DrawImage vorne,x#,y# End Function Function schussoben() For i=1 To 100 If rak(i,1)<0 Then rak(i,0)=0 If rak(i,0)=1 Then DrawImage schussa,rak(i,1),rak(i,2) rak(i,2)=rak(i,2)-10 EndIf Next End Function hi,ich probier hier jetzt schon ne halbe ewigkeit rum,und komm nich drauf warum der schuss net angezeigt wird. habt ihr ne idee??? mfg marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Den schuss must du mit Types machen...
Code: [AUSKLAPPEN] Graphics 640,480,0,2 Type schuss Field schuss_x Field schuss_y End Type Global s.schuss ... Repeat If KeyHit(57) then s.schuss = New schuss s\schuss_x = PosXvonSpieler s\schuss_y = PosYvonSpieler EndIf For s.schuss = Each schuss Oval s\schuss_x,s\schuss_y,10,10 s\schuss_y = s\schuss_y - 10 If s\schuss_y < 0 then Delete s-schuss Next Flip Cls Until KeyHit(1) End so in etwa.... |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, muss er nicht!
Schön wäre es allerdings, wenn du kopierte Codes auch versuchen würdest zu verstehen, wenn du sie verwendest! + Dim vor die Hauptschleife + player = hinten Bedingung aus der Funktion laufen() entfernt, da die Bedingung anscheinend nie wahr wird, feuert er nicht + If KeyDown(57) Then ... gelöscht, da dies schon in der Funktion abgefragt wird. Code: [AUSKLAPPEN] AppTitle "WORM HOLE EXTREME" Graphics 640,480,16,1 SetBuffer BackBuffer() ClsColor 255,0,0 ;SACHEN LADEN Global links=LoadImage("links.bmp") MaskImage links,0,0,255 Global rechts=LoadImage("rechts.bmp") MaskImage rechts,0,0,255 Global hinten=LoadImage("hinten.bmp") MaskImage hinten,0,0,255 Global vorne=LoadImage("vorne.bmp") MaskImage vorne,0,0,255 Global spieler=links Global schussa=LoadImage("schussa.bmp") Global x# Global y# Dim rak(100,2) Repeat Cls laufen() ;If KeyDown(57)=1 schuss = 1 ;If schuss = 1 Then DrawImage schussa,x,y If KeyHit(57) Then schuss=schuss +1 If schuss=21 Then schuss=1 rak(schuss,0)=1 rak(schuss,1) =x +10 rak(schuss,2) =y -19 EndIf Flip Until KeyHit(1) End Function laufen() ;If spieler=hinten And KeyHit(57) Then schussoben() If KeyDown(203) Then spieler=links : x#=x#-0.5 If KeyDown(205) Then spieler=rechts :x#=x#+0.5 If KeyDown(200) Then spieler=hinten :y#=y#-0.5 If KeyDown(208) Then spieler=vorne : y#=y#+0.5 If spieler=links Then DrawImage links,x#,y# If spieler=rechts Then DrawImage rechts,x#,y# If spieler=hinten Then DrawImage hinten,x#,y# If spieler=vorne Then DrawImage vorne,x#,y# End Function Function schussoben() For i=1 To 100 If rak(i,1)<0 Then rak(i,0)=0 If rak(i,0)=1 Then DrawImage schussa,rak(i,1),rak(i,2) rak(i,2)=rak(i,2)+10 EndIf Next End Function |
||
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doppelpost nur zur Übersicht!
Ich würde den ganzen Code allerdings so schreiben, wenn ich deiner Idee weitgehend treu bleibe. Schau dir einfach mal an, an welchen Stellen ich anders vorgegangen bin und vergleiche die beiden Codes! an Crack: Dich meine ich nicht. Der Code von Mas stammt von René bzw. aus dessen Buch und bevor er jetzt den Fehler macht, dass er mit etwas weiterarbeitet, das er nicht versteht, sollte er das vielleicht nochmal genauer verstehen. Code: [AUSKLAPPEN] AppTitle "WORM HOLE EXTREME"
Graphics 640,480,16,1 SetBuffer BackBuffer() ;ClsColor 255,0,0 ;SACHEN LADEN Global x# Global y# Dim rak(100,2) Repeat Cls Color 255, 255, 255 Rect x, y, 100, 50 move() If KeyHit(57) Then schuss = schuss + 1 If schuss=21 Then schuss=1 rak(schuss,0)=1 rak(schuss,1) = x + 10 rak(schuss,2) = y + 50 EndIf Flip Until KeyHit(1) End Function move() schuss() If KeyDown(203) Then x = x -1 If KeyDown(205) Then x = x +1 If KeyDown(200) Then y = y -1 If KeyDown(208) Then y = y +1 End Function Function schuss() For i=1 To 100 If rak(i,1)<0 Then rak(i,0)=0 If rak(i,0)=1 Then Color 255, 0, 0 Rect rak(i,1), rak(i,2), 10, 10 rak(i,2) = rak(i,2) + 10 EndIf Next End Function |
||
- Zuletzt bearbeitet von Hagbard am Sa, Dez 09, 2006 18:42, insgesamt einmal bearbeitet
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
meinst du mit verstehen mich?
den Code hab ich nich kopiert... |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Tornado11 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hagbard sagt :
Zitat: Dich meine ich nicht.
![]() |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja weiß ich auch, aba als ich das angefangen hab zu schreiben, war dieses threat noch nich da... ![]() ![]() |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab dir mal schnell den Schuss mit Types geschrieben die in 4 Richtungen fliegen, kommt drauf an in welcher richtung der spieler kuckt ![]() Code: [AUSKLAPPEN] AppTitle "WORM HOLE EXTREME"
Graphics 640,480,16,1 SetBuffer BackBuffer() ClsColor 255,0,0 ;SACHEN LADEN Global links=LoadImage("links.bmp") MaskImage links,0,0,255 Global rechts=LoadImage("rechts.bmp") MaskImage rechts,0,0,255 Global hinten=LoadImage("hinten.bmp") MaskImage hinten,0,0,255 Global vorne=LoadImage("vorne.bmp") MaskImage vorne,0,0,255 Global richtung=1 Global schuss=LoadImage("schussa.bmp") Global x# Global y# ;Type für den Schuss Type schuss Field schuss_x Field schuss_y Field schuss_richtung Field schuss_speed End Type Repeat Cls laufen() ;Zum schießen auf Leertaste drücken If KeyHit(57) Then ;Ein neuer schuss erstellen s.schuss = New schuss ;Den schuss an dieser Position setzen wo der spieler ist s\schuss_x = x+15 s\schuss_y = y+5 ;Den schuss richtung übergeben s\schuss_richtung = richtung ;Schuss speed setzen s\schuss_speed=3 EndIf ;Alle schüsse abfragen For s.schuss = Each schuss ;Den schuss zeichnen DrawImage schuss,s\schuss_x,s\schuss_y ;Schuss nach links fliegen lassen If s\schuss_richtung = 1 Then s\schuss_x = s\schuss_x - s\schuss_speed ;Schuss nach rechts fliegen lassen If s\schuss_richtung = 2 Then s\schuss_x = s\schuss_x + s\schuss_speed ;Schuss nach oben fliegen lassen If s\schuss_richtung = 3 Then s\schuss_y = s\schuss_y - s\schuss_speed ;Schuss nach unten fliegen lassen If s\schuss_richtung = 4 Then s\schuss_y = s\schuss_y + s\schuss_speed Next Flip Until KeyHit(1) End Function laufen() ;Richtung links If KeyDown(203) Then richtung=1 : x#=x#-.50 ;Richtung rechts If KeyDown(205) Then richtung=2 : x#=x#+.50 ;Richtung oben If KeyDown(200) Then richtung=3 : y#=y#-.50 ;Richtung unten If KeyDown(208) Then richtung=4 : y#=y#+.50 If richtung = 1 Then DrawImage links,x#,y# If richtung = 2 Then DrawImage rechts,x#,y# If richtung = 3 Then DrawImage hinten,x#,y# If richtung = 4 Then DrawImage vorne,x#,y# End Function MfG Andreas |
||
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250 |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die vielen antworten.
ich hab das mit absicht nich mit types gemacht,weil ich noch nich richtig weiß wie das geht. WERDE DAS aba jetzt lernen. |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
is eigl. nich soo schwer....
ist soger besser weil man das dann besser löschen kann... |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group