Растянуть между 2 Vector3 Unity UI - PullRequest
0 голосов
/ 12 марта 2020

I am trying to stretch a UnityEngine.UI image between 2 vectors

Я использую код

public void Strech(GameObject sprite, Vector3 initialPosition, Vector3 finalPosition)
{
    Vector3 centerPos = (initialPosition + finalPosition) / 2f;

    sprite.transform.position = centerPos;

    Vector3 direction = finalPosition - initialPosition;
    direction = Vector3.Normalize(direction);
    sprite.transform.right = direction;

    distance = Vector3.Distance(initialPosition, finalPosition);

    Debug.DrawLine(initialPosition, finalPosition);

    sprite.GetComponent<RectTransform>().sizeDelta = new Vector3(distance, 40f);
}

Не могу понять, почему изображение не будет отображаться или из любого из центров объектов пользовательского интерфейса.

Что я делаю не так? Я вызываю функцию Stretch в обновлении l oop. Сама красная линия - это тип изображения UnityEngine.UI.

Я хочу, чтобы изображение было мозаичным, как показано в Debug.DrawLine

Редактировать 1: Вот как отображается прямоугольник

Stretch()

1 Ответ

0 голосов
/ 16 марта 2020

Я исправил это! Мне пришлось умножить коэффициент масштабирования, потому что Canvas использовал Canvas Scaler с эталонным разрешением 1280 x 720

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