Центрирование карт на экране - PullRequest
0 голосов
/ 12 октября 2018

Я следовал учебному пособию по единству, чтобы создать игру памяти, но после добавления большего количества карт они теперь уходят в правую часть экрана.

В коде используется одна карта в конструкторе Unity, а все остальные картыиз него и его позиционирование (используя startpos)

public const float offset = 2.5f;
Vector3 startpos = originalCard.transform.position;

for (int i = 0; i < numCols; i++)
{
    for (int j = 0; j < numRows; j++)
    {
        card = Instantiate(originalCard) as MemoryCard;
        float posX = (offset * i) + startpos.x;
        float posY = - (offset * j) + startpos.y;
        card.transform.position = new Vector3(posX, posY, startpos.z);
    }
}

Я хотел бы центрировать карточки на экране, но не уверен, как, учитывая, что размеры экрана через Screen.width указаны в пикселях, а код Vector - нети компонент x оригинальной карты (startpos.x) фактически отрицателен.

1 Ответ

0 голосов
/ 12 октября 2018

Самый простой способ - переместить оригинальную карту в вид сцены.Если вы щелкнете по камере, вы увидите, что она ограничена, поэтому щелкните по камере, затем переместите стартовую карту как можно дальше влево и все равно ее увидите.Если они все еще не помещаются в камеру, вы можете изменить ширину карты и сделать некоторые математические расчеты, чтобы увидеть, сколько карт вы можете уместить.

Альтернативное, но также простое решение - отрегулировать границы камеры.чтобы охватить карты, где они находятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...