Array Index Out of bounds? Oo?[Gelöst]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Xaymar

ehemals "Cgamer"

Betreff: Array Index Out of bounds? Oo?[Gelöst]

BeitragDo, Mai 21, 2009 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Dim SubdivPos(3, 5)
Function Subdivide(Tri.Triangles)
   For A = 0 To 2
      DebugLog A
      DebugLog SubdivPos(A, 0)  ;A=0 = Array Index out of bounds? wtf?
      SubdivPos(A, 0) = Tri\ScrPosX[A]
      SubdivPos(A, 1) = Tri\ScrPosY[A]
      SubdivPos(A, 2) = Tri\Red[A]
      SubdivPos(A, 3) = Tri\Green[A]
      SubdivPos(A, 4) = Tri\Blue[A]
      SubdivPos(A, 5) = Tri\Alpha[A]*100
      SubdivPos(3, 0) = SubdivPos(3, 0) + SubdivPos(A, 0)
      SubdivPos(3, 1) = SubdivPos(3, 1) + SubdivPos(A, 1)
      SubdivPos(3, 2) = SubdivPos(3, 2) + SubdivPos(A, 2)
      SubdivPos(3, 3) = SubdivPos(3, 3) + SubdivPos(A, 3)
      SubdivPos(3, 4) = SubdivPos(3, 4) + SubdivPos(A, 4)
      SubdivPos(3, 5) = SubdivPos(3, 5) + SubdivPos(A, 5)
   Next
   Delete Tri.Triangles
   
   SubdivPos(3, 0) = SubdivPos(3, 0) / 3
   SubdivPos(3, 1) = SubdivPos(3, 1) / 3
   SubdivPos(3, 2) = SubdivPos(3, 2) / 3
   SubdivPos(3, 3) = SubdivPos(3, 3) / 3
   SubdivPos(3, 4) = SubdivPos(3, 4) / 3
   SubdivPos(3, 5) = SubdivPos(3, 5) / 3
   
   NTri.Triangles = New Triangles
   NTri\ScrPosX[0] = SubdivPos(0, 0)
   NTri\ScrPosY[0] = SubdivPos(0, 1)
   NTri\ScrPosX[1] = SubdivPos(3, 0)
   NTri\ScrPosY[1] = SubdivPos(3, 1)
   NTri\ScrPosX[2] = SubdivPos(1, 0)
   NTri\ScrPosY[2] = SubdivPos(1, 1)
   NTri\Red[0] = SubdivPos(0, 2):NTri\Green[0] = SubdivPos(0, 3):NTri\Blue[0] = SubdivPos(0, 4):NTri\Alpha[0] = SubdivPos(0, 5)/100
   NTri\Red[1] = SubdivPos(3, 2):NTri\Green[1] = SubdivPos(3, 3):NTri\Blue[1] = SubdivPos(3, 4):NTri\Alpha[1] = SubdivPos(3, 5)/100
   NTri\Red[2] = SubdivPos(1, 2):NTri\Green[2] = SubdivPos(1, 3):NTri\Blue[2] = SubdivPos(1, 4):NTri\Alpha[2] = SubdivPos(1, 5)/100
   NTri.Triangles = New Triangles
   NTri\ScrPosX[0] = SubdivPos(1, 0)
   NTri\ScrPosY[0] = SubdivPos(1, 1)
   NTri\ScrPosX[1] = SubdivPos(3, 0)
   NTri\ScrPosY[1] = SubdivPos(3, 1)
   NTri\ScrPosX[2] = SubdivPos(2, 0)
   NTri\ScrPosY[2] = SubdivPos(2, 1)
   NTri\Red[0] = SubdivPos(1, 2):NTri\Green[0] = SubdivPos(1, 3):NTri\Blue[0] = SubdivPos(1, 4):NTri\Alpha[0] = SubdivPos(1, 5)/100
   NTri\Red[1] = SubdivPos(3, 2):NTri\Green[1] = SubdivPos(3, 3):NTri\Blue[1] = SubdivPos(3, 4):NTri\Alpha[1] = SubdivPos(3, 5)/100
   NTri\Red[2] = SubdivPos(2, 2):NTri\Green[2] = SubdivPos(2, 3):NTri\Blue[2] = SubdivPos(2, 4):NTri\Alpha[2] = SubdivPos(2, 5)/100
   NTri.Triangles = New Triangles
   NTri\ScrPosX[0] = SubdivPos(2, 0)
   NTri\ScrPosY[0] = SubdivPos(2, 1)
   NTri\ScrPosX[1] = SubdivPos(3, 0)
   NTri\ScrPosY[1] = SubdivPos(3, 1)
   NTri\ScrPosX[2] = SubdivPos(0, 0)
   NTri\ScrPosY[2] = SubdivPos(0, 1)
   NTri\Red[0] = SubdivPos(1, 2):NTri\Green[0] = SubdivPos(1, 3):NTri\Blue[0] = SubdivPos(1, 4):NTri\Alpha[0] = SubdivPos(1, 5)/100
   NTri\Red[1] = SubdivPos(3, 2):NTri\Green[1] = SubdivPos(3, 3):NTri\Blue[1] = SubdivPos(3, 4):NTri\Alpha[1] = SubdivPos(3, 5)/100
   NTri\Red[2] = SubdivPos(2, 2):NTri\Green[2] = SubdivPos(2, 3):NTri\Blue[2] = SubdivPos(2, 4):NTri\Alpha[2] = SubdivPos(2, 5)/100
   
   RecreateScene()
End Function


Woran kanns liegen?
die dim wird nirgendwo anders initialiesiert

Edit:
Die RE's in BB werden immer seltsamer... Der fehler liegt 1832 zeilen weiter oben... der debugger markiert aber eine zeile in der funktion... gelöst
Warbseite

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group