Problem bei Gegnererstellung
Übersicht

![]() |
Pingu_KillerBetreff: Problem bei Gegnererstellung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi leutz,
Ich schreibe gerade einen Weltraumshooter, habe gerade die codes für das erstellen von Gegnern eingegeben und wollte das Spiel testen. Doch dann kam eine Fehlermeldung vom Compiler ( ![]() Code: [AUSKLAPPEN] Graphics 640,480,16,1 SetBuffer BackBuffer() ClsColor 0, 0, 0 Global enemy = LoadImage("enemy.bmp") MaskImage enemy, 255, 0, 255 Global rs = LoadImage("rs2.bmp") MaskImage rs, 255, 0, 255 Global shoot = LoadImage("shoot.bmp") MaskImage shoot, 255, 0, 255 Global rs_pos_x = 270 Global rs_pos_y = 360 Type gegner Field ID Field x Field y End Type ;------------------------------ Restore gegner Read anz For i = 0 To anz i.gegner = New gegner Read ID, x, y i\x = x i\y = y Next ;------------------------------ Type shoot Field x,y End Type Const rauf = 200, runter = 208, rechts = 205, links = 203, schuss = 57 Repeat Cls DrawEnemy() MoveEnemy() Shoot() MoveRs() DrawImage rs, rs_pos_x, rs_pos_y Flip Until KeyHit(1) End Function MoveRs() If KeyDown(rauf) Then rs_pos_y = rs_pos_y -2 If rs_pos_y =< 300 Then rs_pos_y = 300 ElseIf KeyDown(runter) Then rs_pos_y = rs_pos_y +3 If rs_pos_y => 440 Then rs_pos_y = 440 ElseIf KeyDown(rechts) Then rs_pos_x = rs_pos_x +3 If rs_pos_x => 597 Then rs_pos_x = 597 ElseIf KeyDown(links) Then rs_pos_x = rs_pos_x -3 If rs_pos_x =< 0 Then rs_pos_x = 0 EndIf End Function Function shoot() If KeyHit(schuss) Then s.shoot = New shoot s\x = rs_pos_x s\y = rs_pos_y EndIf For s.shoot= Each shoot DrawImage shoot, s\x, s\y s\y=s\y - 10 If s\y < 1 Then Delete s Next End Function Function DrawEnemy() For i.gegner = Each gegner If i\ID = 2 Then DrawImage enemy, i\x, i\y EndIf Next End Function Function MoveEnemy() For i.gegner = Each gegner If i\ID = 2 Then i\x = i\x +2 EndIf Next End Function .gegner Data 2 Data 2, 32, 32 Data 2, 96, 64 |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
das muss
Code: [AUSKLAPPEN] read i\ID
read i\x read i\y heißen ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Pingu_Killer |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab das aus nem tutorial, und da ging das. Naja, ich hab das so gemacht wie du es gesagt hast, aber der Fehler besteht immer noch. "Out of Data" wird bei "Read ID" angezeigt.
Hast de ne idee was da der fehler ist? Was bedeutet "Out of data"? |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Out of data zeigt eigentlich an, dass das Data Feld, was du abfragen möchtest, nicht existiert.
Du hast zu viele Abfragen drinne: du zählst von 0 bis anz anz ist 2 aber du hast nur 2 daten felder übrig. Also muss das heißen Code: [AUSKLAPPEN] for i=1 to anz
Und noch ein Fehler. wenn du die for next schleife mit der variable i nimmst, dann darfst du kein i.Gegner=new Gegner machen also anderer variablenname dein read geht auch aber dann muss es heißen z.B. Code: [AUSKLAPPEN] for i=1 to anz z.gegner=New gegner read z\ID,z\x,z\y next |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group