@artshelom

Как сделать перемещение только внутри одной картинки?

У меня есть картинка внутри нее находится еще одна картинка, как узнать границы картинки родителя? Чтобы она не выходила за границы родителя?
Вот код который у меня есть:
if (Input.touchCount > 0)
        {
            if (Input.touches[0].phase == TouchPhase.Began)
                center = Input.touches[0].position;
            if (Input.touches[0].phase == TouchPhase.Moved || Input.touches[0].phase == TouchPhase.Stationary)
            {
                Vector2 moved = Input.touches[0].position - center; // вектор сдвига от начала касания до текущей точки касания
                if (transform.position.x <= 0.5 && transform.position.x >= -0.5)
                {
                    transform.position = new Vector3(transform.position.x + moved.x / 1000, transform.position.y, transform.position.z);
                }
            }
        }

Но у меня двигается только по середине экрана, по длине родителя. А как сделать, чтобы учитывалась положение родителя?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
где это в вашем коде вообще присутствует "по длине родителя" просвятите пожалуйста??
не вижу вообще никакой ссылки на родительский (или целевой) объект.

что из себя представляют картинки?? Canvas ?? Sprite? Quad??

В принципе ..как вариант смотреть вам в сторону..
https://docs.unity3d.com/ScriptReference/Mesh-boun...
https://docs.unity3d.com/ScriptReference/Renderer-...

для RectTransform наверно проще просто по координатам (смещения все эти лево право верх вниз менять, зная размер родителя)) ...

но опять же у вас ни скриншотов, ни примеров ) толком не ясно)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы