Страница 2 из 3

Re: Drag and Drop Menu

СообщениеДобавлено: 09 ноя 2022, 21:54
e-x
таки нашел че искал, может кому будет интересно

Синтаксис:
Используется csharp
public Image itemImage;
сюда пихаем имедж
itemImage.sprite = Inventory.slotSprite;
тут отображаем)
 

Re: Drag and Drop Menu

СообщениеДобавлено: 10 ноя 2022, 01:20
Saltant
e-x писал(а):таки нашел че искал, может кому будет интересно

Синтаксис:
Используется csharp
public Image itemImage;
сюда пихаем имедж
itemImage.sprite = Inventory.slotSprite;
тут отображаем)
 

Юзай не .sprite а .overrideSprite

Re: Drag and Drop Menu

СообщениеДобавлено: 11 ноя 2022, 17:52
e-x
Застрял, не могу никак решить далее как, помогите плиз.

вот есть событие

Синтаксис:
Используется csharp
public void OnBeginDrag(PointerEventData eventData)
        {
            var slotTransform = dragObject.parent;
            slotTransform.SetAsLastSibling();
            dragCanvasGroup.blocksRaycasts = false;
            Debug.Log("BeginStart");

            test5.colorItemBackGround = true;
        }
 


я нифига не пойму до конца как это работает((((
Как я понимаю, когда начинаю двигать зацепив мышкой объект запускается этот метод, я хочу, когда начинаю двигать мышкой объект чтоб в другом скрипте изменилась переменная test5 на true. Элементов на которых весит скрипт с test5.colorItemBackGround = true; 15 шт.

Также количество иконок 15....то есть 15 иконок и 15 элементов на которых надо менять булевую переменную.
Так вот, какую бы иконку я не зацепил булевая переменная меняется только на элементе 3(((.

Почему именно на 3? скрипты висят на всех элементах, как я понимаю если на элементе 3 я двигаю иконку то на элементе 3 и должна меняться булевая функция.

public void OnBeginDrag(PointerEventData eventData)

что означает то что в скобках написано?может это какт-о надо применить?

Смотришь видосы..."это сюда то сюда вот работает"...да рассказал бы уже PointerEventData eventData для чего зачем?

Debug.Log("BeginStart"); работает четко.

Ошибок никаких нет
вот иерархия
https://postimg.cc/CRJjwzHq


Юзай не .sprite а .overrideSprite
Почему?

Re: Drag and Drop Menu

СообщениеДобавлено: 11 ноя 2022, 18:17
breNnor-
Смотришь видосы..."это сюда то сюда вот работает"...да рассказал бы уже PointerEventData eventData для чего зачем?
https://unityhub.ru/manual/UIE-Pointer-Events

Если тебе в видосе про инвентарь будут рассказывать про EventSystem то видео будет оооочень длинным.

Re: Drag and Drop Menu

СообщениеДобавлено: 11 ноя 2022, 18:58
Alkos26Rus
e-x писал(а):Почему именно на 3? скрипты висят на всех элементах, как я понимаю если на элементе 3 я двигаю иконку то на элементе 3 и должна меняться булевая функция.

Ссылки значит не правильно сделал, нажми на ячейку и посмотри что за ссылка test5, может все на 3 ячейку ссылается

Re: Drag and Drop Menu

СообщениеДобавлено: 11 ноя 2022, 19:26
breNnor-
Посмотри еще такой параметр как Target Graphic, на какой объект ссылается. У меня такое было когда я копипастом занимался.

Re: Drag and Drop Menu

СообщениеДобавлено: 12 ноя 2022, 15:37
e-x
Что такое Target Graphic ?...не могу у себя найти нигде такое...есть Target raycast ну это не то наверно, я понимаю что такое таржет райкаст.

В мануале нет ниче про (PointerEventData eventData) тот что скинул BreNnor

Re: Drag and Drop Menu

СообщениеДобавлено: 14 ноя 2022, 21:55
e-x
Подскажите плиз такоей момент.
есть массив

Синтаксис:
Используется csharp
public UIInventoryItem[] itemSlot;
 


в нем такой скрипт

Синтаксис:
Используется csharp
public class UIInventoryItem : MonoBehaviour
{

    [Header("DRAG&DROP")]
    private RectTransform dragObject;
    private CanvasGroup dragCanvasGroup;
    public Image itemImageBackground;
    public Image itemDrag;
    public Canvas canvas;
    public bool onOffItems;

    public void Awake()
    {
        onOffItems = false;
    }
}
 



как в методе OnBeginDrag отловить ячейку которую нажимаю

Синтаксис:
Используется csharp
for (int i = 0; i < itemSlot.Length; i++)
            {
                if (itemSlot[i].itemDrag. == то что нажимаю)
                {
                   
                    ttt = itemSlot[i].itemDrag;
                    Debug.Log("90");
                    break;
                }
            }
 


помогите плиз как такой цикл написать?

Re: Drag and Drop Menu

СообщениеДобавлено: 14 ноя 2022, 22:16
Tolking
OnBeginDrag срабатывает на объекте который начинают тащить...

Re: Drag and Drop Menu

СообщениеДобавлено: 17 ноя 2022, 00:07
e-x
ок...как мне зацепить тот объект?
покажите пример кода!
когда скрипт весит на объекте то понятно все....а по моему замыслу...скажите все же как правильно?!

Re: Drag and Drop Menu

СообщениеДобавлено: 17 ноя 2022, 02:03
Tolking
Гм... А у тебя не на объекте висит скрипт?

Re: Drag and Drop Menu

СообщениеДобавлено: 17 ноя 2022, 12:27
e-x
так в том то и дело, я ж вот и спрашиваю как правильно!!!

если скрипт висит на объекте то я спокойно цепляю объект и двигаю....но если у меня 15 объектов, что вешать одинаковые повторяющиеся скрипты на все 15 обектов???!?!?....это ж тупо!

Я создал один и повесил на пустышку и пытаюсь из него выловить объекты на которых нет скриптов с методами onBegin Drag и т.д....может я тупо делаю....может все же можно выловить? Как верно?

Re: Drag and Drop Menu

СообщениеДобавлено: 17 ноя 2022, 12:39
Tolking
Есть 100 врагов вешать на всех повторяющиеся скрипты? Нет, блин! для каждого объекта будем делать отдельные скрипты, которые делают одно и тоже...

Конечно на объектах с одинаковым функционалом будет одинаковый скрипт. Если предмет нужно "drag&drop", то на нем и должен быть скрипт, который будет знать как его "drag" и куда его можно "drop", а куда нельзя. И что делать в обоих случаях...

Re: Drag and Drop Menu

СообщениеДобавлено: 17 ноя 2022, 13:01
e-x
ок...спасибо!понял!

Re: Drag and Drop Menu

СообщениеДобавлено: 17 ноя 2022, 13:42
1max1
что вешать одинаковые повторяющиеся скрипты на все 15 обектов???!?!?....это ж тупо!

чот орнул :D