Another work around is to use User Defined Types. This is a little easier to handle multi-dimensional arrays as long as they aren't too large after the first array. For example, instead of:
I would use
Type Coordinates
x as Float
y as Float
z as Float
EndType
Dim Ship(20) as Coordinates
Then I can assign values in a way that's easily readable. Example:
Ship(1).x=5:Ship(1).y=0:Ship(1).z=50
Position Object 1, Ship(1).x,Ship(1).y,Ship(1).z
You can even have UDT's define UDT's to stack them:
Type Positioning
Position as Coordinates
Angle as Coordinates
EndType
Dim Ship(20) as Positioning
This is roughly the equivilent of 3-dimensional array (Dim Ship(20,2,3), but much easier to read (Ship(1).Position.x)
One drawback is that you can't access the extra dimensions using variables like you can in an array (i.e. Ship(a,b,c) ).
"Droids don't rip your arms off when they lose." -H. Solo
REALITY II