Как изменить порядок рендеринга выбранного изображения в 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

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