Jump n Run Engine funktioniert nicht
Übersicht

n00bLik3Betreff: Jump n Run Engine funktioniert nicht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Guten Tag, allerseits.
Wenn ich meine Jump n Run Engine starten will, bekomme ich folgenden Fehler: Zitat: Runtime Error:
Image frame out of range Ich habe die Dateien sicher 5 mal durchgeackert, aber ich find den Bug einfach nicht. Ich habe das zusammen mit einem Jump n Run Tutorial geschrieben und mit TileStudio - wie der Tutorialschreiber auch - meine eigene Map erstellt. Irgendwie glaube ich aber, dass dieser Runtime Error nicht der einzige Fehler ist. Beim Starten wird die Map völlig falsch angezeigt. Wo habe ich da gefailed? Ihr könnt die Daten hier runterladen: http://uploaded.to/file/yaeh3y Oder den Code hier anschauen: engine.bb Code: [AUSKLAPPEN] Graphics 640, 480, 16, 2
SetBuffer BackBuffer() frametimer = CreateTimer (30) ClsColor 0, 0, 255 Global x, y ; Grafiken laden Global dude = LoadImage ("dude.bmp") MaskImage dude, 255, 0, 255 Global Back = LoadImage ("himmel.jpg") ; Konstanten und Variablen definieren Const Player_pos_x = 304, Player_pos_y = 320 Global Player_temp_y# = 0 Global jump = False Global jumptimer# Global scroll_x = 0, scroll_y = 0 Global scroll_x2 = 0, scroll_y2 = 0 Global scroll_x3 = 0, scroll_y3 = 0 Const rauf = 200, runter = 208, rechts = 205, links = 203, space = 57 Global TileUPlayer1, TileUPlayer2, TileUPlayer3, TileUPlayer4, TileUPlayer5, TileUPlayer6, TileUPlayer7 Global TileUPlayer8, TileUPlayer9, TileUPlayer10, TileUPlayer11, TileUPlayer12 ; Boundvars Global BoundsUPlayer1, BoundsUPlayer2, BoundsUPlayer3, BoundsUPlayer4, BoundsUPlayer5, BoundsUPlayer6 Global BoundsUPlayer7, BoundsUPlayer8, BoundsUPlayer9, BoundsUPlayer10, BoundsUPlayer11, BoundsUPlayer12 Dim map (10,21) Include "test_include.bb" Global M_Width, M_Height, T_Width, T_Height Global M_Width2, M_Height2, T_Width2, T_Height2 Global Bounds M_Width = MapWidth (LAYER_Tiles1_Map1) M_Height = MapHeight (LAYER_Tiles1_Map1) T_Width = TileWidth (LAYER_Tiles1_Map1) T_Height = TileHeight (LAYER_Tiles1_Map1) M_Width2 = MapWidth (LAYER_Tiles1_Map1) M_Height2 = MapHeight (LAYER_Tiles1_Map1) T_Width2 = TileWidth (LAYER_Tiles1_Map1) T_Height2 = TileHeight (LAYER_Tiles1_Map1) ; Hauptschleife Repeat WaitTimer (frametimer) DrawMap() CheckTileUnderPlayer() CheckBoundsUnderPlayer() MoveDude() DoJump() DrawPlayer() debugging() Flip Until KeyHit (1) End Include "functions.bb" test_include.bb (von TileStudio auto-generated) Code: [AUSKLAPPEN] ; ---------- Generated by Tile Studio ----------
Const LAYER_Tiles1_Map1 = (0 Shl 8) + 0 ; get map width (tiles) Function MapWidth (map) Select map Case LAYER_Tiles1_Map1 Return 21 End Select End Function ; get map height (tiles) Function MapHeight (map) Select map Case LAYER_Tiles1_Map1 Return 10 End Select End Function ; get tile width (pixels) Function TileWidth (map) Select map Case LAYER_Tiles1_Map1 Return 32 End Select End Function ; get tile height (pixels) Function TileHeight (map) Select map Case LAYER_Tiles1_Map1 Return 32 End Select End Function Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 4) MaskImage Tiles1Bitmap, 255, 0, 255 Dim Tiles1Map1Map (10, 21) Restore Tiles1Map1MapData For y = 0 To 10 - 1 For x = 0 To 21 - 1 Read Tiles1Map1Map (y, x) Next Next .Tiles1Map1MapData Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0 Data 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 Data 2, 2, 3 Data 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 Data 4, 4, 4 Data 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 Data 4, 4, 4 Data 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 Data 4, 4, 4 Data 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 Data 4, 4, 4 Dim Tiles1Map1BoundMap (10, 21) Restore Tiles1Map1BoundMapData For y = 0 To 10 - 1 For x = 0 To 21 - 1 Read Tiles1Map1BoundMap (y, x) Next Next ; tile size: w = 32, h = 32 .Tiles1Map1BoundMapData Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 Dim Tiles1Sequences$ (0 + 1) ; Tiles1Map1Layer ; movement (x, y) = (x = x, y = y) ; get tile number at position (x,y) Function GetTile (map, x, y) Select map Case LAYER_Tiles1_Map1 Return Tiles1Map1Map (y, x) - 1 End Select End Function ; get bounds/map code at position (x,y) Function GetBounds (map, x, y) Select map Case LAYER_Tiles1_Map1 Return Tiles1Map1BoundMap (y, x) End Select End Function Function DrawTile (map, x, y, tile) Select map Case LAYER_Tiles1_Map1 DrawImage Tiles1Bitmap, x, y, tile End Select End Function ; ---------- end of generated file ---------- functions.bb Code: [AUSKLAPPEN] ;Funktionen
Function DrawMap() TileBlock back, (-100 - scroll_x3), (-50 - scroll_y3) For y = 0 To M_Height2 For x = 0 To M_Width2 DrawTile(LAYER_Tiles1_Map1, (x * T_Width2) - scroll_x2, (y * T_Height2) - scroll_y2, Tiles1Map1Map (y,x)) Next Next For y = 0 To M_Height For x = 0 To M_Width DrawTile(LAYER_Tiles1_Map1, (x * T_Width) - scroll_x, (y * T_Height) - scroll_y, Tiles1Map1Map (y,x)) Next Next End Function Function MoveDude() If KeyDown(links) Then ; Default: Boundwert 8 If BoundsUPlayer7 <> 8 And BoundsUPlayer7 <> 9 And BoundsUPlayer7 <> 12 And BoundsUPlayer7 <> 13 And BoundsUPlayer7 <> 10 And BoundsUPlayer7 <> 11 And BoundsUPlayer7 <> 14 And BoundsUPlayer7 <> 15 Then If scroll_x =< -312 Then scroll_x = -312 Else scroll_x = scroll_x -4 scroll_x2 = scroll_x2 -2 scroll_x3 = scroll_x3 -1 EndIf EndIf ; Spieler ausrichten, falls unter ihm nichts sein sollte. If BoundsUPlayer5 <> 0 Then temp = (Player_pos_y + scroll_y) /32 scroll_y = (temp *32) - Player_pos_y EndIf ElseIf KeyDown(rechts) Then ; Default: Boundwert 2 If BoundsUPlayer10 <> 2 And BoundsUPlayer10 <> 3 And BoundsUPlayer10 <> 6 And BoundsUPlayer10 <> 7 And BoundsUPlayer10 <> 10 And BoundsUPlayer10 <> 11 And BoundsUPlayer10 <> 14 And BoundsUPlayer10 <> 15 Then If scroll_x => 672 Then scroll_x = 672 Else scroll_x = scroll_x +4 scroll_x2 = scroll_x2 +2 scroll_x3 = scroll_x3 +1 EndIf EndIf ; Spieler ausrichten, falls unter ihm nichts sein sollte. If BoundsUPlayer5 <> 0 Then temp = (Player_pos_y + scroll_y) /32 scroll_y = (temp *32) - Player_pos_y EndIf ; Keine Bounds abfragbar bei "up" und "down" ElseIf KeyDown(rauf) Then If TileUPlayer4 = 9 Or TileUPlayer4 = 8 Or TileUPlayer5 = 8 Then scroll_y = scroll_y -4 scroll_y2 = scroll_y2 -2 scroll_y3 = scroll_y3 -1 EndIf ElseIf KeyDown(runter) Then If TileUPlayer6 = 9 Or TileUPlayer6 = 8 Then scroll_y = scroll_y +4 scroll_y2 = scroll_y2 +2 scroll_y3 = scroll_y3 +1 EndIf EndIf End Function Function DoJump() ; Überprüft, ob Space gedrückt wurde If KeyDown (space) Then If jump = False jump = True Player_temp_y = 7 EndIf EndIf ; Falls Player nach oben gegen Mauer springt, fällt er zurück If BoundsUPlayer1 > 0 And TileUPlayer1 <> 9 And TileUPlayer1 <> 8 And jump = True Then jump = False scroll_y = scroll_y + Player_temp_y scroll_y2 = scroll_y2 + (Player_temp_y / 2) scroll_y3 = scroll_y3 + (Player_temp_y / 3) EndIf ; Sprungroutine If jump = True Then Player_temp_y = Player_temp_y -0.33 scroll_y = scroll_y - Player_temp_y scroll_y2 = scroll_y2 - (Player_temp_y / 2) scroll_y3 = scroll_y3 - (Player_temp_y / 3) If Player_temp_y =< 0 Then ; Bound auf Leiter? If BoundsUPlayer6 > 0 Or TileUPlayer6 =8 Then jump = 0 temp = (Player_pos_y + scroll_y) /32 scroll_y = (temp *32) - Player_pos_y EndIf EndIf EndIf ; Gravity If jump = False Then If BoundsUPlayer6 = 0 And TileUPlayer6 <> 9 And TileUPlayer6 <> 8 Then ; Wenn kein Bound und keine Leiter unter der Figur > jump = True Player_temp_y = 0 EndIf EndIf ; Geschwindigkeitsstop If scroll_y < -320 Then scroll_y = -320 jump = True Player_Temp_y = 0 EndIf If scroll_y > 160 Then scroll_y = 160 jump = False EndIf End Function Function DrawPlayer() DrawImage dude, Player_pos_x, Player_pos_y End Function Function CheckTileUnderPlayer() ; Oben - unten TileUPlayer1 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, (Player_pos_y + scroll_y) /32) TileUPlayer2 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +8) + scroll_y) /32) TileUPlayer3 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) TileUPlayer4 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +24) + scroll_y) /32) TileUPlayer5 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +28) + scroll_y) /32) TileUPlayer6 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +32) + scroll_y) /32) ; Links - Rechts TileUPlayer7 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) TileUPlayer8 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +8) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) TileUPlayer9 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +24) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) TileUPlayer10= GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +32) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) ; Unten, Links, Rechts TileUPlayer11 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x) +scroll_x) /32, ((Player_pos_y +31) + scroll_y) /32) TileUPlayer12 = GetTile (LAYER_Tiles1_Map1, ((Player_pos_x +32) +scroll_x) /32, ((Player_pos_y +31) + scroll_y) /32) End Function Function CheckBoundsUnderPlayer() ; Oben - Unten BoundsUPlayer1 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, (Player_pos_y + scroll_y) /32) BoundsUPlayer2 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +8) + scroll_y) /32) BoundsUPlayer3 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) BoundsUPlayer4 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +24) + scroll_y) /32) BoundsUPlayer5 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +28) + scroll_y) /32) BoundsUPlayer6 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +16) +scroll_x) /32, ((Player_pos_y +32) + scroll_y) /32) ; Links - Rechts BoundsUPlayer7 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) BoundsUPlayer8 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +8) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) BoundsUPlayer9 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +24) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) BoundsUPlayer10= GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +32) +scroll_x) /32, ((Player_pos_y +16) + scroll_y) /32) ; Unten, Links, Rechts BoundsUPlayer11 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x) +scroll_x) /32, ((Player_pos_y +31) + scroll_y) /32) BoundsUPlayer12 = GetBounds (LAYER_Tiles1_Map1, ((Player_pos_x +32) +scroll_x) /32, ((Player_pos_y +31) + scroll_y) /32) End Function Function debugging() Color 0,0,0 Rect 0, 0, 130, 100, 1 Color 255, 255, 255 Text 30, 0, BoundsUPlayer1 Text 30, 10, BoundsUPlayer2 Text 30, 20, BoundsUPlayer3 Text 30, 30, BoundsUPlayer4 Text 30, 40, BoundsUPlayer5 Text 30, 50, BoundsUPlayer6 Text 0, 20, BoundsUPlayer7 Text 15, 20, BoundsUPlayer8 Text 45, 20, BoundsUPlayer9 Text 60, 20, BoundsUPlayer10 Text 0, 45, BoundsUPlayer11 Text 60, 45, BoundsUPlayer12 Tempx = ((Player_pos_x +16) +scroll_x) tempx2 = (((Player_pos_x +16) +scroll_x) /32) *32 x = tempx -Tempx2 Tempy = ((Player_pos_y +32) +scroll_y) tempy2 = (((Player_pos_y +32) +scroll_y) /32) *32 y = tempy -Tempy2 Text 90, 10, x Text 90, 20, y Text 90, 40, Scroll_x Text 90, 50, Scroll_y End Function Für eure Hilfe bedanke ich mich im Voraus! |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Willkommen im BB Portal!
Also was dein Problem angeht: Du lädtst aus dem Bild 4 Frames: Code: [AUSKLAPPEN] Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 4)
Und in deiner Map hast du Tiles von 0 bis 4 (Data unter .Tiles1Map1MapData) Das sind aber insgesamt 5 Frames! Du kannst in deiner Map nur Tile 0-3 angeben. Und dann noch ein kleiner Tipp zum Code: In deiner Hauptschleife hast du vorbildlich einen Timer gesetzt... Aber Timer + Flip ist kontraproduktiv. Wenn du einen Timer benutzt, benutze Flip 0 mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
In deinem Data-Field gibt es Daten von 0 bis 4. Das sind 5 (!) verschiedene Tiles.
BlitzBasic: [AUSKLAPPEN] Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 4) Hier laedst du aber ein Bitmap mit lediglich 4 (!) Frames. Ersetze die 4 durch eine 5, und vielleicht klappt es dann. edit: mist zu spaet |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Fürchte, es wird nicht klappen, wenn man 5 Frames lädt, in dem Bild sind ja nur 4 drin.
Also entweder anderes Bild nehmen mit 5 Frames oder Map-Daten ändern. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
n00bLik3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh mein Gott, wie dumm von mir. Ich WUSSTE, dass es irgend so eine Kleinigkeit sein wird. Naja, dass das 0 auch mitgezählt wird, WUSSTE ich eigentlich. Aber habs da total nicht beachtet.
Ich danke euch vielmals =D |
||
n00bLik3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann will ich mich jetz erst einmal für den Doppelpost entschuldigen.
Aber ich hab den Post vorhin abgeschickt, BEVOR ichs wieder getestet hab, mein Fehler! Ich habs jetz nochmal probiert und die Zeile Code: [AUSKLAPPEN] Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 4) mit Code: [AUSKLAPPEN] Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 3) ersetzt. Also habe ich nun die richtige Anzahl von Tiles: 0, 1, 2, 3. 4 Stück, also. Bei .Tiles1Map1MapData habe ich die 4-en auch noch mit 3en ersetzt. Schlussendlich erhielt ich den gleichen Fehler. Was mich auch etwas verwirrt ist: Diese File is von TileStudio auto-generated und die Tiles sind auch mit diesem Programm erstellt worden. Warum failed denn GERADE diese auto-generated File? Nochmal grossen Dank für eure Hilfe =3 |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du musst die 4 nicht in 3 sondern in 5 ändern(wenn dasbild auch 5 frames hat..
ps: es gibt einen editbutton rechts oben in deinem post! |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Ich habs jetz nochmal probiert und die Zeile
Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 4) Global Tiles1Bitmap = LoadAnimImage ("graphics\Tiles1.bmp", 32, 32, 0, 3) (argh!) beim laden wird das nicht so gerechnet ![]() LoadAnimImage(Datei$, AnimBreite, AnimHoehe, StartFrame, TotalFrame) TotalFrame hättest du auf 4 lassen können |
||
Warbseite |
n00bLik3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da_poller hat Folgendes geschrieben: ps: es gibt einen editbutton rechts oben in deinem post! weiss ich, allerdings hatte ich Schiss, dass dieses Topic dann nicht mehr beachtet wird. Cgamer hat Folgendes geschrieben: LoadAnimImage(Datei$, AnimBreite, AnimHoehe, StartFrame, TotalFrame) TotalFrame hättest du auf 4 lassen können Ja, aber was ist dann der Fehler? >_<[/quote] |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du darfst halt nirgends dann auf die framenummer 4 zurgreifen sondern 3 ist dein höchster frame.
böses foul.. den editbutton kennen und nicht nutzen ist hier nicht gerne gesehen.. dein post wird gesehen und gelesen dieses aufmerksam machen(steht aauch in den regeln) ist schlichtweg verboten ![]() |
||
n00bLik3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da_poller hat Folgendes geschrieben: böses foul.. den editbutton kennen und nicht nutzen ist hier nicht gerne gesehen.. dein post wird gesehen und gelesen dieses aufmerksam machen(steht aauch in den regeln) ist schlichtweg verboten ![]() Ok, kann ich verstehen. Kommt nicht mehr vor. da_poller hat Folgendes geschrieben: du darfst halt nirgends dann auf die framenummer 4 zurgreifen sondern 3 ist dein höchster frame.
Sorry, jetzt bin ich völlig durcheinander... Cgamer sagt, ich soll die Zahl auf 4 lassen. Und du sagst ich soll 3 nehmen? Was stimmt denn nu? ._. |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du lädst 4 frames(die 4 lassen) aber wenn du auf framenummer 4 zugreifst geht das nicht da beim index von 0 begonnen wird.. also 0-3 bei 4 frames. | ||
n00bLik3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry, dass ich euch hier mit dem Problem nerv.
Aber. Jetzt kommt eine andere Fehlermeldung. Ich habe die 4en bei .Tiles1Map1MapData auf 3en geändert. Jetzt erhalte ich vom Debugger die Fehlermeldung "Array index out of bounds" und er gibt mir folgende Zeile an: Code: [AUSKLAPPEN] Return Tiles1Map1Map (y, x) - 1
und hier ist betroffenes Array: Code: [AUSKLAPPEN] Dim Tiles1Map1Map (10, 21)
Ich hab gar nicht erst nach nem Fehler gesucht, ich poste gleich hier. Ich bin sowas von demotiviert mit dem Zeug grad. stell ich mich grad' so blöd, oder BIN ich so blöd? o.O |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Return Tiles1Map1Map (y, x) - 1
das kann nicht gehen Code: [AUSKLAPPEN] Return Tiles1Map1Map(y-1,x-1)
|
||
n00bLik3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, danke, da_poller, hast mir schon EINIGES weitergeholfen.
Das Programm funzt jetzt so EINIGERMASSEN, nachdem ich jetz noch 2 Fehler beseitigen musste. Aber so, wies aussieht, failed auch die Jumproutine ... man landet tiefer, als man vorhin war und dann kommt wieder ne fehlermeldung vom Debugger (Array index out of bounds) und wenn man zu weit läuft, kommt die gleiche fehlermeldung, was aber verständlich ist. Kann man das zu weit aus der Map gehen aber irgendwie verhindern? Klar, durch irgendne Wand, die dann auch dargestellt ist. Kann man aber auch irgendwie eine unsichtbare Begrenzung machen? Und ich muss schon sagen. Ich bin recht schockiert, dass ein AUTOMATISCH GENERIERTES File falsche Codes erhält... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group