Problem beim Feuern

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Oli27

Betreff: Problem beim Feuern

BeitragSa, Jun 03, 2006 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
Arbeite grad an meinem 2. Spiel und da hab ich ein merkwürdiges Problem. Blitz meint nämlich immer "Objekt does not exist" das kann doch eigentlich nicht sein Confused

Es geht darum das wenn ich einen gegnerschuss abschieße er diesen und meinen löschen soll .... jedoch kommt imemr nur die oben angegebene Meldung.

Er hat kein prolem damit af.alienfeuern zu löschen sondern mit f.feuern .... aber warum ?

BlitzBasic: [AUSKLAPPEN]
	For f.feuern  = Each feuern
For af.alienfeuern = Each alienfeuern

If ImagesOverlap (laser_gfx, f\x, f\y,laser_gfx, af\x, af\y) Then
Delete f.feuern
Delete af.alienfeuern
EndIf

Next
Next

Artemis

BeitragSa, Jun 03, 2006 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Welche Zeile ist denn markiert?

BladeRunner

Moderator

BeitragSa, Jun 03, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Du löschst f.feuern aber die for next läuft ja weiter. Dann versucht das Programm den nächsten Schuss mit dem (nicht mehr existenten) Objekt f.feuern zu vergleichen.
Du kannst das Problem mit ql:exit beheben Wink
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
 

Oli27

BeitragSa, Jun 03, 2006 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke klappt super Very Happy
 

Oli27

BeitragMi, Jun 07, 2006 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ich nutz mal den Thread weiter dann muss ich kein neuen machen Laughing

Also geht mal wieder ums feuernundzwar ... ich habe mehrere Level (3) in level 1 und 2 laufen die schüsse die man selbst abgibt gleich schnell jedoch im 3. level sind sie warum auch immer schneller Question Obwohl es immer die gleiche Funktion ist die aufgerufen wird.

Weiß nu nich genau was ich euch hier zum ansehn geben soll aber ich versuchs erstm amit der schuss function ^^

BlitzBasic: [AUSKLAPPEN]
Function Steuerung()

If KeyDown(links) Then SpeedX=SpeedX - 0.25
If KeyDown(rechts) Then SpeedX=SpeedX + 0.25
If KeyDown(rauf) Then Speedy=Speedy- 0.25
If KeyDown(runter) Then Speedy=Speedy + 0.25

If speedx<0 Then speedx=speedx +.05
If speedx>0 Then speedx=speedx -.05
If speedy<0 Then speedy=speedy +.05
If speedy>0 Then speedy=speedy -.05

If SpeedX > 4 Then speedx=4
If speedx < -4 Then speedx=-4
If speedy > 3 Then speedy=3
If speedy < -3 Then speedy=-3

player_x=Player_x+speedX
player_y=player_y+speedY

If KeyDown (space) And MilliSecs() > feuern_time + 300 Then
f.feuern = New feuern
f\x = player_x+8
f\y = player_y+2
f\xs= + SZ#(0.4)
f\ys= 0
feuern_time = MilliSecs()
EndIf


;---- Rand setzen ----
If player_x < 0 Then player_x = 0
If player_x > 750 Then player_x = 750
If player_y < 0 Then player_y = 0
If player_y > 450 Then player_y = 450

End Function

BladeRunner

Moderator

BeitragMi, Jun 07, 2006 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
f\xs=  + SZ#(0.4)

könntest Du bitte diese Zeile erläutern ?
Wo ist SZ denn definiert (Es scheint ja eine Funktion zu sein).
Da mag denn auch der Fehler liegen.
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
 

Oli27

BeitragMi, Jun 07, 2006 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Das dient dazu das das ganze bei jedem gleich schnell läuft. hab ich aus nem Tutorial hier ausem forum (frameunabhäniges Programmieren oder so ^^)

BlitzBasic: [AUSKLAPPEN]

Repeat
StartZeit = MilliSecs()
Cls

...
...
...
...

Flip
SchleifenZeit = MilliSecs() - Startzeit
Until leben = 0 Or abschuss >= 20 Or KeyHit(1)



Function SZ#(Bewegung#)

Wert# = Bewegung# * SchleifenZeit
Return Wert#

End Function


aber das at damit eigentlich nix zu tun da das Problem schon da war bevor ich das eingebaut hab ....

BladeRunner

Moderator

BeitragMi, Jun 07, 2006 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm. Ich kann hier nichts fehlerhaftes entdecken, noch dazu wo ja die "Schussgeschwindigkeit" festgelegt und nicht variabel ist. Was änderst Du denn zwischen den Levels ?
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
 

Oli27

BeitragMi, Jun 07, 2006 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Hmmm. Ich kann hier nichts fehlerhaftes entdecken, noch dazu wo ja die "Schussgeschwindigkeit" festgelegt und nicht variabel ist. Was änderst Du denn zwischen den Levels ?


Also Level 1 hat 2 verschiedne gegner und in Level 2 kommt dann ein neuer dazue und in level 3 da gibt es die 3 aus den anderen levels nicht mehr sondern 2 ganz neue.

BladeRunner

Moderator

BeitragMi, Jun 07, 2006 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein dass die Gegner im dritten Level langsamer als die der ersten beiden sind und daher die Schüsse schneller wirken ?
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
 

Oli27

BeitragMi, Jun 07, 2006 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
So hab mal die geschwindigkeit des schusses runtergestellt und die zeit gemessen. hier mal der unterschied

Level 1 : 6,3sec
Level 2 : 6,3sec
Level 3 : 3,7sec

Nu isses ganz ein deutig Laughing

BladeRunner

Moderator

BeitragMi, Jun 07, 2006 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Also der Fehler liegt nicht im hier geposteten Code. kannst Du vielleicht mal deinen Code uploaden damit ich testen kann ?
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
 

Oli27

BeitragMi, Jun 07, 2006 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar ... ist aber in mehrere Datein gesplittet und eine riesen
Katastrophe weil ich für jede Gegnerart nen neuen Type hab undso ^^ Rolling Eyes Naja bin noch ein noob ich darf das Laughing

http://web348.serverdrome.de/EarthDefender2.rar

BladeRunner

Moderator

BeitragMi, Jun 07, 2006 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
falls der Level 3 der mit den meteoriten ist, laufen die Schüsse dort bei mir gleichschnell. Ich habe auch im 3en Level unsichtbare Gegner.
Ich hab den Code bislang nur überflogen, allerdings fällt mir auf dass Du manche Funktionen mehrfach überschreibst. Das solltest Du dringend vermeiden, sorgt nur für Ärger. Dein Code ist so kaum zu überblicken.
So leid es mir tut, aber ich würde Dir empfelhen nochmal neu zu beginnen und dann von Anfang an auf Struktur im Code zu achten.
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
 

Oli27

BeitragMi, Jun 07, 2006 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
falls der Level 3 der mit den meteoriten ist, laufen die Schüsse dort bei mir gleichschnell. Ich habe auch im 3en Level unsichtbare Gegner.
Ich hab den Code bislang nur überflogen, allerdings fällt mir auf dass Du manche Funktionen mehrfach überschreibst. Das solltest Du dringend vermeiden, sorgt nur für Ärger. Dein Code ist so kaum zu überblicken.
So leid es mir tut, aber ich würde Dir empfelhen nochmal neu zu beginnen und dann von Anfang an auf Struktur im Code zu achten.


hast schon recht ... hab da selbst schon nich mehr durchgesehn Laughing

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group