Как изменить порядок рендеринга выбранного изображения в Unity?C#

Место общения программистов C#
Ответить
Anonymous
 Как изменить порядок рендеринга выбранного изображения в Unity?

Сообщение Anonymous »

У меня есть группа макетов сетки и под ней несколько изображений. Чего я хочу добиться, так это того, что всякий раз, когда я выбираю (нажимаю и начинаю перетаскивать) объект, я хочу, чтобы его порядок рендеринга был приоритетным, чтобы из-за иерархии он не отставал от своих братьев и сестер. Как я могу добиться этого в Unity?
Вот мой код:

Код: Выделить всё

using UnityEngine;
using UnityEngine.EventSystems;

public class DragAndDrop : MonoBehaviour, IDragHandler, IBeginDragHandler, IEndDragHandler
{
private RectTransform selfRectTransform;
private Canvas canvas;
private int originalSortingOrder;

private void Start()
{
selfRectTransform = GetComponent();
canvas = GetComponentInParent();
originalSortingOrder = canvas.sortingOrder;
}

public void OnBeginDrag(PointerEventData eventData)
{
// Increase the canvas sorting order to render the object above others
canvas.sortingOrder++;
}

public void OnDrag(PointerEventData eventData)
{
selfRectTransform.anchoredPosition += eventData.delta;
}

public void OnEndDrag(PointerEventData eventData)
{
// Restore the original canvas sorting order
canvas.sortingOrder = originalSortingOrder;
}
}
Настройка порядка в разделе «Слои» в редакторе.

Подробнее здесь: https://stackoverflow.com/questions/783 ... r-in-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»