jumpnrun-scrolling
Übersicht

![]() |
aasgeierBetreff: jumpnrun-scrolling |
![]() Antworten mit Zitat ![]() |
---|---|---|
yo hi!
ich bin grad dabei ein jump n run zu coden. den level, der so hoch wie eine bildschirmseite, aber viel breiter ist (also gescrollt werden muss), will ich über eine datei laden. wenn ich dann beim test im spiel den level scrollen, also die figur, die immer in der mitte des bildschirms sein soll, seitlich "bewegen" will, kommt eine fehlermeldung: "array index out of bounds". das ist der code (sachen wie menü, sound etc. hab ich hier mal weggelassen): Code: [AUSKLAPPEN] Graphics 1024,768 SetBuffer BackBuffer() Dim level$(23,31) (...unwichtiges...) leveldatei = ReadFile("blocks\level2.dat") For zeile = 0 To 23 a$ = ReadLine(leveldatei) For spalte = 0 To 31 level$(zeile,spalte) = Mid$(a$, (spalte*4) +1, 3) Next Next CloseFile leveldatei offset = 0 Repeat Cls For zeile = 0 To 23 For spalte = 0 To 31 If KeyDown(203) And player(1) = "3" Then If offset > 0 Then offset = offset - 1 EndIf If KeyDown(205) And player(1) = "4" Then If offset < 59 Then offset = offset + 1 EndIf quadrat$ = level$(zeile,spalte + offset) bmp$ = Left$(quadrat,1) bmpzeile = Asc( Mid$(quadrat,2,1) ) - 65 bmpspalte = Asc( Mid$(quadrat,3,1) ) - 65 If bmp$ = "a" Then DrawImageRect blocks_gfx,spalte*32,zeile*32,64,64,32,32 ;Graaas EndIf (Hier stehen noch weitere If-Anweisungen, die der letzten bis auf die Parameter bei drawimagerect und dem "bmp$ = "a"" gleichen) Next Next (...unwichtiges...) Delay 8 Flip Until KeyHit(1) End wo liegt der fehler? für hilfe wäre ich sehr dankbar. aasgeier |
||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: level$(zeile,spalte + offset)
Wenn Offset > 0 und spalte = 31 ist, dann gibts wahrscheinlich einen Fehler. Du musst Offset zur Y - Position des Bildes addieren, das du zeichnest. |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi ich denke das es hier dran liegt
Code: [AUSKLAPPEN] quadrat$ = level$(zeile,spalte + offset) ; könnte über 31 werden und dann Fehler |
||
[BB2D | BB3D | BB+]
|
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vergrössere einfach dein Array um eins. Also da wo die X Tiles drin sind.
Weil man zeichnet immer ein Tile über den Bildschirm raus, weil das ja gescrollt werden muss. Jedoch darf sich der ScrollWert nicht mehr erhöhen wenn du am Ende der Map bist, sonst kommen weiterhin solche Fehler. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group