Unity Добавить элемент в клик к инвентаризации

В настоящее время я создаю игру в стиле RPG, в которой игрок должен щелкнуть по определенным «светящимся» объектам, чтобы получить предметы, которые будут добавлены в их инвентарь, чтобы перейти на следующий уровень. Я уже создал панель инвентаризации GUI, и я могу размещать элементы в ящиках, но я не могу понять, как импортировать элемент GUI при щелчке на ресурсе. Если бы кто-нибудь мог дать мне некоторые идеи или возможные ресурсы, на которые я мог бы взглянуть, чтобы что-то понять, это было бы потрясающе. Спасибо.

c#,unity3d,unityscript,unity5,

1

Ответов: 1


1

Хорошо, я думаю, что ваш вопрос довольно широк, и многое зависит от других, но позвольте мне сказать здесь несколько намеков, надеюсь, что некоторые из них вам помогут:

  • Чтобы отключить объект, используйте SetActive (false) для этого объекта, таким образом он по-прежнему доступен для кода, но не доступен для просмотра больше
  • Для предметов (и это действительно зависит от того, как вы хотите работать с элементами в игре):
    1. либо сделайте эти предметы дебиторской задолженности детьми светящегося объекта, а затем просто введите родительский элемент (item.transform.SetParent (bag.transfrom)) или
    2. если вам нужны только базовые данные о них, создайте скрипт MonoBehaviour с метаданными и поместите его на светящийся объект и после клика скопируйте их в свою сумку

Если это не ответит на все, что вы хотели, будьте более конкретными или введите примерный код здесь

РЕДАКТИРОВАТЬ:

Я все еще думаю, что ваш вопрос слишком широк, и вы должны указать его больше, но попробуете второй раз:

предположим, что светящийся объект имеет эти изображения в качестве спрайтов, и они добавляются в Редактор или каким-то другим скриптом во время выполнения. Кроме того, светящийся объект должен иметь ссылку на объект мешка, снова получить его во время выполнения или в редакторе, если это возможно. Затем поместите этот метод щелчка в компонент объекта gloving, и это должно сделать трюк:

public void OnClickOnGlowItem() {
  foreach(Sprite sprite in this.attachedItems)
    this.bagObjectInterface.AddNewItem(sprite);
}
C #, Unity3D, unityscript, unity5,
Похожие вопросы