Я делаю инвентарь, используя Unity и C#, где он динамически создаст текст, если в слоте инвентаря есть элементы. Тем не менее, это всегда пропускает первый слот. Когда я впервые написал код, он работал нормально, но когда я открыл единство, он случайно перестал работать. Я не вижу никаких ошибок, и код не сломается, но он имеет это странное поведение. < /P>
Вот код: < /p>
// iterating i for every slot in inventory //
if (inventory.items != Resources.Load("Items/Empty"))
{
hotbar.children.GetComponent().sprite = inventory.items.sprite;
if (GameObject.Find($"Hotbar ({i})") == null)
{
textbox = new GameObject($"Hotbar ({i})", typeof(CanvasRenderer));
RectTransform tf = textbox.AddComponent(typeof(RectTransform)) as RectTransform;
tf.SetParent(hotbartextParent, true);
TextMeshProUGUI text = textbox.AddComponent(typeof(TextMeshProUGUI)) as TextMeshProUGUI;
text.SetText($"{inventory.itemCounts}");
text.fontSize = 10;
text.color = new Color(0, 0, 0, 255);
}
}
< /code>
для контекста, Inventory.Items - это элемент в этом слоте (все работает нормально, я проверил). < /p>
Вот некоторые Изображения задачи:
Первый пункт слот Appliosuly там, но нет GameObject < /p>
Теперь есть второй слот, он сделал GameObject для первого слота < /p>
третий элемент сейчас, все еще один слева
Я просто не дону. Не понимаю, как это может произойти, так как это работает один раз, чем один предмет в вашем инвентаре, но никогда не для последнего. Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -iteration
Почему эта функция проходит на первой итерации? ⇐ C#
Место общения программистов C#
-
Anonymous
1738285167
Anonymous
Я делаю инвентарь, используя Unity и C#, где он динамически создаст текст, если в слоте инвентаря есть элементы. Тем не менее, это всегда пропускает первый слот. Когда я впервые написал код, он работал нормально, но когда я открыл единство, он случайно перестал работать. Я не вижу никаких ошибок, и код не сломается, но он имеет это странное поведение. < /P>
Вот код: < /p>
// iterating i for every slot in inventory //
if (inventory.items[i] != Resources.Load("Items/Empty"))
{
hotbar.children[i].GetComponent().sprite = inventory.items[i].sprite;
if (GameObject.Find($"Hotbar ({i})") == null)
{
textbox = new GameObject($"Hotbar ({i})", typeof(CanvasRenderer));
RectTransform tf = textbox.AddComponent(typeof(RectTransform)) as RectTransform;
tf.SetParent(hotbartextParent, true);
TextMeshProUGUI text = textbox.AddComponent(typeof(TextMeshProUGUI)) as TextMeshProUGUI;
text.SetText($"{inventory.itemCounts[i]}");
text.fontSize = 10;
text.color = new Color(0, 0, 0, 255);
}
}
< /code>
для контекста, Inventory.Items [i] - это элемент в этом слоте (все работает нормально, я проверил). < /p>
Вот некоторые Изображения задачи:
Первый пункт слот Appliosuly там, но нет GameObject < /p>
Теперь есть второй слот, он сделал GameObject для первого слота < /p>
третий элемент сейчас, все еще один слева
Я просто не дону. Не понимаю, как это может произойти, так как это работает один раз, чем один предмет в вашем инвентаре, но никогда не для последнего. Есть идеи?
Подробнее здесь: [url]https://stackoverflow.com/questions/79401575/why-is-this-function-failing-on-the-first-iteration[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия