2CHEVSKII, суть в том что я заполняю массив этими объектами
for (int i = 0; i < 11; i++)
{
for (int j = 0; j < 11; j++)
{
if (i == 0 && j == 0) { }
else if (i > 0 && j == 0) { }
else if (j % 2 == 1)
{
x = x - r;
z = z - z2;
}
else
{
x = x + r;
z = z - z2;
}
Map[i, j] = Instantiate(Hex_Plane_Rock1, new Vector3(x, 0, z), Quaternion.Euler(-90, 0, 0));
а после мне требуется по клику на их колайдеры работать с определёнными координамтами
2CHEVSKII, в другом скрипте центр первого объекта имеет значения x=0 и z=0, да и к тому же чуть ранее всё работало коректно. если же вывести массив с расположением объектов, то все стоят на своих местах. сдвиг происходит лишь в момент определения середины колайдера на который был сделан клик, но колайдер привязан к центру данного объекта и посему должен иметь координаты такие же, а именно x=0 и z=0, так же повторюсь что ранее всё определялось верно
2CHEVSKII, остальной код никак не затрагивает эти две переменные
if (add_unit == true)
{
float x = Hex_Plane_Rock1.GetComponent().bounds.center.x;
float z = Hex_Plane_Rock1.GetComponent().bounds.center.z;
Debug.Log("x=:" + x + " z=:" + z);
Instantiate(Unit1, new Vector3(x, 2, z),Quaternion.Euler(0, 0, 0));
for (int i = 0; i < 11; i++)
{
for (int j = 0; j < 11; j++)
{
if (x == map_x[i,j] && z == map_z[i,j])
{
map_tf[i, j] = true;
}
}
}
GameObject.Find("Panel_Start_Shop").GetComponent().Return();
}
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
for (int i = 0; i < 11; i++)
{
for (int j = 0; j < 11; j++)
{
if (i == 0 && j == 0) { }
else if (i > 0 && j == 0) { }
else if (j % 2 == 1)
{
x = x - r;
z = z - z2;
}
else
{
x = x + r;
z = z - z2;
}
Map[i, j] = Instantiate(Hex_Plane_Rock1, new Vector3(x, 0, z), Quaternion.Euler(-90, 0, 0));
а после мне требуется по клику на их колайдеры работать с определёнными координамтами