@Layen

Как назначить определенную кнопку на картинку из массива Unity?

Тема такая: есть массив из 33 картинок, нужно присвоить каждую картинку определенной кнопке, то-есть если, допустим, 3 картинка - кнопка "E", и если кнопка с картинкой совпали, происходит какое-то действие, да, знаю, формулировка вопроса странная, есть такое. Нужна помощь) Пишу в Unity на C#
  • Вопрос задан
  • 945 просмотров
Решения вопроса 2
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Для вашего случая хорошо подходит словарь, но в юнити не умеет их сериализовывать, поэтому лучше использовать список классов-контейнеров:
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Example : MonoBehaviour
{
    public List<KeyboardKey> keyboardKeys = new List<KeyboardKey>();

    private void Update()
    {
        for (int i = 0; i < keyboardKeys.Count; i++)
        {
            var key = keyboardKeys[i];
            if (Input.GetKeyDown(key.code))
            {
                // Делаем что-то с key.image
            }
        }
    }
}

[Serializable]
public class KeyboardKey
{
    public Image image;
    public KeyCode code;
}

При желании KeyboardKey можно сделать MonoBehaviour, тут уж как вам удобнее.
Ответ написан
Комментировать
GavriKos
@GavriKos Куратор тега Unity
Используйте Dictionary. Ключ - кнопка, значение - картинка (в любом виде - sprite, image, texture - фиг его что у вас там).
В апдйете форичем по словарю бежите и проверяете каждый ключ - была ли нажата его кнопка.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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