Schuss funktioniert nicht!!!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Quäiny

Betreff: Schuss funktioniert nicht!!!

BeitragMo, Feb 11, 2008 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
also hier mein Problem:da kommt immer eine Fehlermeldung
"_vBrücke. dd 0
error in operand"

so kommt das da und hier der Code, wär super, wenn ihr den Fehler entdecken könnt.Aber ich glaub das noch nicht mal was mit der Brücke ist, weil ja mit der alles okay ist, naja schaut mal!!!

Code: [AUSKLAPPEN]


Graphics 800, 600,16,2
SetBuffer BackBuffer()


;Dateien hochladen
Global  Hintergrund=LoadImage ("wolken.bmp")
Global Flugzeug = LoadImage ("Flugzeug22.bmp")
Global Explosion=LoadAnimImage("explo.bmp",48,48,0,10)
Global troop=LoadAnimImage("trooprunner.bmp",54,90,0,12)
Global Turm=LoadImage("turm.bmp")
Global laser = LoadImage("defiant.bmp")
Global Brücke=LoadImage("Brücke3.bmp")

;troop dort hinsetzen, wo er sich im Spiel befinden soll
Global troop_x =350, troop_y = 440, shot_counter=0

Type shot ;erstellt den Type "shot"
Field shot_x ;x Koordinate
Field shot_y ;y Koordinate
End Type

;Farbe der Bilder verschwinden lassen
MaskImage Flugzeug,255,255,255
MaskImage Attacke,0,255,0
MaskImage troop,0,0,0
MaskImage Brücke,255,255,255



Repeat
Cls
;Animation der Explosion
If MilliSecs() > tmrExplosion + 100 Then
tmrExplosion=MilliSecs()
frmExplosion=(frmExplosion + 1) Mod 10
End If

;Variablen der Funktionen
movetroop()
createLaser()
Flip
Until KeyHit(1)


Function movetroop()
;troop soll bewegt werden
If KeyDown(203) Then troop_x = troop_x - 1
If KeyDown(205) Then troop_x = troop_x + 1
If KeyDown(208) Then troop_y = troop_y -1
If KeyDown(200) Then troop_y = troop_y +1

;troop soll sich nur in einem bestimmten Teil bewegen
If PosY > 500 Then troop_y = 500
If PosY < 400Then troop_y = 400
If PosX > 750 Then troop_x = 750
If PosX < 5Then troop_x = 5

;Animation von troop
If MilliSecs() > tmrtroop + 100 Then
tmrtroop=MilliSecs()
frmtroop=(frmtroop + 1) Mod 12
End If

;zeichnet troop auf die Grafik
DrawImage troop,troop_x,troop_y, frmtroop


End Function

 

Function createlaser()
If KeyDown(57) Then
shot_counter = shot_counter +1
End If

;sollte der Zähler 5 erreicht haben, erstelle neuen schuss
If shot_counter = 5 Then

info.shot = New shot ;Schuss wird erstellt
info\shot_x = troop_x +5 ;da er ja beim Spieler erstellt werden soll : wird die Schusskoordinate(shot_X) auf troop_x und +5 rüber gelegt
info\shot_y = troop_y ;beim Y wert ist es nicht anders, da der troop ja auch rauf und runter fahren kann

shot_counter = 0 ; den Zähler auf 0 damit es wieder von vorne losgehen kann
End If


; so nachdem der Schuss/laser erstellt wurde, müssen wir ja sagen das JEDER schuss sich nach oben bewegen soll

For info.shot = Each shot ; so wird jeder einzelne Schuss angesprochen
info\shot_x = info\shot_x -8 ; die Schüsse werden um -8 nach oben bewegt
DrawImage laser,info\shot_x,info\shot_y ; jetzt noch jeden schuss malen
Next

End Function

TileImage  Hintergrund
DrawImage Turm,500,150
DrawImage Flugzeug,550,300
DrawImage Attacke,550,300, frmAttacke
DrawImage Brücke,1,390


End
 

ChristianK

BeitragMo, Feb 11, 2008 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Du darfst keine Umlaute in den Variablennamen haben. Schreibe statt dessen einfach "Bruecke".
Warum da aber eine ( afaik ) Assembler-Fehlermeldung kommt und das nicht vom Compiler erkannt wird, ist schon seltsam ...
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

Quäiny

BeitragMo, Feb 11, 2008 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ja danke, hat geklappt, aber er zeigt nun noch eine weiter fehlermeldung an:"illegal memory address". ja ich weiß jetzt hab ich irgendwo, was nicht hochgeladen...blablabla...aber nach meiner Meinung sieht alles so aus als ob alles da wär, also versteh ich das nicht

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group