- Home /
random positioning of prefabs in memory game
hi, am doing a memory game where i have to match two identical cards. i have an array of 10 prefabs from which initially i took 2(prefabs will increase by 1 in successive levels) prefabs and then instantiated them in a matrix form. i used for loop for the instantiation(taking one card and instantiating them twice so as to have a pair) but got stuck up with positioning them. i need to randomize the position so the prefabs wont instantiate at the same location next time. i manually calculated the position of the prefabs as that they get instantiated at the center of the screen. might be too much to ask, but i have no other place to ask. thanks in advance.
need help on how to change the position of the instating prefab and how to place them in center of the screen.
using UnityEngine;
using System.Collections;
public class spawner_1 : MonoBehaviour {
public Gameobject[] prefab = new Gameobject[10];
void Start () {
prefabCreation ();
}
public void prefabCreation()
{
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 2; j++)
{
Vector3 position = new Vector3(-1.0f + (2 * j), 1.5f - (2 * i),0);
Instantiate(prefabPool[i], position, Quaternion.identity);
}
}
}
I would first create a list of positions (possible positions of the cards), then pick a random position from the list to instanciate the card and removing that position from the list. Something like:
List<Vector3> positions = new List<Vector3>();
// Fill your list inside your Start function or outside the prefab creation loop
// Then, inside your prefab creation loop
int index = Random.Range(0, positions.Count);
Vector3 randPosition = positions[index];
positions.RemoveAt(index);
Instantiate(yourPrefab, randPosition, Quaternion.identity);
This may not be the solution you want, but in my case, I would just spawn these cards as children to an empty object that would be centered on the screen either using a canvas if you're working with 2D, or just using screen height/width variables.
Your answer
Follow this Question
Related Questions
need help in script 1 Answer
loading prefabs in an array 2 Answers
enemy ai movement. 1 Answer
Which metod for creating many AI/NPCS? FSM, Behavior tree or GOAP 0 Answers
creating prefabs at the center 0 Answers