Schießen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Beni

Betreff: Schießen

BeitragDo, Mai 19, 2005 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab einen kleinen Gegner gemacht der schießt wenn der Player ganz oben im Level ist. Allerdings wenn der Gegner anfängt zu schießen und der Player weiter nach unten geht veschwindet der Schuss und wenn der Player dann wieder oben ist, startet der schuss mitten in der Luft. Wie kann ich das hinkriegen, dass der Schuss losgeht und aus dem Blidschirm fliegt auch wenn der Player weiter unten is?

Mein Code:
BlitzBasic: [AUSKLAPPEN]
If playery < 100 Then fire = 1
If fire = 1 Then
DrawImage rocket,schussx,schussy
If schussx > 800 Then fire = 0 : schussx = 100
schussx = schussx + 10
EndIf
Change all running systems!
 

Gerhard

BeitragDo, Mai 19, 2005 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kann eigentlich nur daran liegen, dass du an irgend einer anderen Codestelle fire=0 setzt. In deinem obigen Code wird die Rakete gezeichnet bis schussx > 800 und verschwindet erst dann.
 

Beni

BeitragDo, Mai 19, 2005 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Eben nicht sie verschwindet auch schon wenn der Player weiter nach unten geht und wenn playery dann wieder unter 100 is fliegt sie da weiter wo sie vorher aufgehört hat! Confused Confused Confused Confused Confused Confused
Change all running systems!
 

Gerhard

BeitragDo, Mai 19, 2005 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber eben nicht nach dem Codestück da oben!
Grund: siehe oben.
Solange fire=1 wird die Rakete gezeichnet. Und fire wird erst Null bei schussx>800.
Da hilft nur nachsehen wo fire auf Null gesetzt wird...
 

Beni

BeitragDo, Mai 19, 2005 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, tut mir echt leid aber die rocket verschwindet schon wenn playery über 100 is und sie kommt wieder wenn playery unter 100 is. Leider aber an der Stelle wo sie verschwunden is.
Change all running systems!
 

Gerhard

BeitragDo, Mai 19, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut mir auch leid. Aber dein obiger Code gibt das nicht her.
Fire ist 1 und wird danach erst Null wenn schussx>800.

Da beisst die Maus keinen Faden ab.

Jede Wette, du setzt irgendwo fire auf Null. Vielleicht hast du irgendwo 'if playery > 100 then fire = 0'?

Da wird dir keiner mehr sagen können. Zeig mal mehr Code. Du musst deinen Code halt auch mal durchsehen wenn dir einer sagt, dass dein Problem an einer anderen Stelle liegt. Wenn du dich immer nur wiederholst, könntest du natürlich noch recht haben wenn ich danebenliege. Aber dann erklärs mir doch mal Very Happy

Klip

BeitragFr, Mai 20, 2005 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso löst du es nicht einfach mit Types?

BlitzBasic: [AUSKLAPPEN]

While Not KeyHit(1)

If playery < 100
schiessen() ; Schussfunktion ausführen
EndIf

For schuss_eins.schuss = Each schuss
schuss_eins\y = schuss_eins\y + schuss_eins\geschwindigkeit
; In der Hauptschleife den Schuss nach unten bewegen
DrawImage schussbild,schuss_eins\x,schuss_eins\y
; Schuss malen
If schuss_eins\y > 800
Delete schuss_eins.schuss
Next

Wend


Function schiessen()
schuss_eins.schuss = New schuss ; Neuen Schuss erstellen
; blablablabla ; Koordinaten einstellen
End Function

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group