Using 2d array to instantiate objects at different positions.
I am currently using a 2D array, and when looping through the array based on the number i would instantiate a different gameobject. The issue i am having is, how do i instantiate these gameobjects in their respective positions?
So for example this is my 2d array:
int[,] levelMap = { {1,2,2,2,2,2,2,2,2,2,2,2,2,7}, {2,5,5,5,5,5,5,5,5,5,5,5,5,4}, {2,5,3,4,4,3,5,3,4,4,4,3,5,4}, {2,6,4,0,0,4,5,4,0,0,0,4,5,4}, {2,5,3,4,4,3,5,3,4,4,4,3,5,3}, {2,5,5,5,5,5,5,5,5,5,5,5,5,5}, {2,5,3,4,4,3,5,3,3,5,3,4,4,4}, {2,5,3,4,4,3,5,4,4,5,3,4,4,3}, {2,5,5,5,5,5,5,4,4,5,5,5,5,4}, {1,2,2,2,2,1,5,4,3,4,4,3,0,4}, {0,0,0,0,0,2,5,4,3,4,4,3,0,3}, {0,0,0,0,0,2,5,4,4,0,0,0,0,0}, {0,0,0,0,0,2,5,4,4,0,3,4,4,0}, {2,2,2,2,2,1,5,3,3,0,4,0,0,0}, {0,0,0,0,0,0,5,0,0,0,4,0,0,0}, };
void Start() {
Bounds bound = MazeLeftCorner.GetComponent<Renderer>().bounds;
mainCam.orthographicSize = 18 * bound.size.y * 0.5f;
int rowLength = levelMap.GetLength(0);
int colLength = levelMap.GetLength(1);
Vector3 pos = mainCam.ScreenToWorldPoint(Vector3.zero);
pos = new Vector3( pos.x + bound.extents.x, pos.y + bound.extents.y, 0);
Vector3 nextPosition = pos;
for (int i = 0; i < rowLength; i++) {
for (int j = 0; j < colLength; j++) {
// arrayString += string.Format("{0} ", levelMap[i, j]);
if (levelMap[i,j] == 1) {
GameObject a = Instantiate(MazeLeftCorner, new Vector3(nextPosition.x,nextPosition.y,0), Quaternion.identity);
nextPosition = new Vector3(pos.x+(MazeLeftCorner.GetComponent<Renderer>().bounds.size.x)*i, pos.y+(MazeLeftCorner.GetComponent<Renderer>().bounds.size.y)*j,0);
}
}
}
This is the first game im trying to develop so forgive my confusing code. The issue with the above code is its not instantiating the gameobject into the correct position. I dont know how i can for example in the array element 1 which is 0, instantiate a wall at position 0,0,0 and the next element at the next position side by side.
Your answer
Follow this Question
Related Questions
EndLess 2D Game 0 Answers
Animation only plays last frame if not loop 2 Answers
Linking projectiles to enemy 0 Answers
RigidBody2d not respecting parameters 0 Answers