Помогите с инвентарём.
|
|
Pant | Дата: Суббота, 09 Августа 2014, 12:18 | Сообщение # 1 |
уже был
Сейчас нет на сайте
| Мне нужно создать инвентарь в Unity 3D. Игрок должен поднимать вещь, выбрасывать её. Ячейки не нужны (ориентация по весу). Иконки не нужны. Т.е например: -Еда x 2 (1 КГ) -АК-47 x1 (20 КГ (пример)) Свободно 9 кг.
Помогите, пожалуйста, и не пишите: "Ты что глупый?Бери руки и делай" Самыe начальные знания C#
Сообщение отредактировал Pant - Суббота, 09 Августа 2014, 12:19 |
|
| |
JHawk | Дата: Суббота, 09 Августа 2014, 12:40 | Сообщение # 2 |
めゃくちゃちゃ
Сейчас нет на сайте
| К примеру у тебя есть переменная, которая обозначает все пространство инвентаря. Назовем ее Inv: Есть переменная, обозначающая сколько сейчас в инвентаре места занято: Идем дальше, при подборе предмета нам надо проверить: влезет ли он в наш рюкзак? Проверяем: Код If (item.weidht <= curinv){ //добавляем предмет в инвентарь } Если будут вопросы, пиши в ЛС, помогу, чем смогу)
|
|
| |
Astralangel | Дата: Суббота, 09 Августа 2014, 12:51 | Сообщение # 3 |
STF Games
Сейчас нет на сайте
| Цитата JHawk ( ) Идем дальше, при подборе предмета нам надо проверить: влезет ли он в наш рюкзак? Вроде не так ведь? Ты проверяешь текущий вес предмета, меньше или равно, текущему весу инвентаря и не проверяешь общую вместимость инвентаря. Скорее будет так: Вес итема + текущий вес в инвентаре меньше или равен общей вместимости инвентаря Код If ((item.weidht + curinv) <= inv){ //добавляем предмет в инвентарь } else { //Сообщение о переполненном инвентаре }
Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир
Сообщение отредактировал Astralangel - Суббота, 09 Августа 2014, 12:54 |
|
| |
Astralangel | Дата: Суббота, 09 Августа 2014, 12:54 | Сообщение # 4 |
STF Games
Сейчас нет на сайте
| Но а вообще автор не об этом спрашивал вроде.
Весь мир театр, все люди в нем актеры и каждый не одну играет роль (с) Шекспир
|
|
| |
allods | Дата: Суббота, 09 Августа 2014, 13:08 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| Сделать класс в классе будем хранить данные о весе, стоимости и прочей херни Класс будет в виде листа примерно так получится
invent[i].name invent[i].price invent[i]....
суммируй вес всех итемов , и при подъеме новой шмотки , сверяй сколько осталось и сколько весит шмотка Данные со шмотки вбивай в invent[i]....Добавлено (09.08.2014, 13:08) ---------------------------------------------
Код var grids:Case[]; class Case { var cost:int; var nX:int; var nY:int; var busy:boolean; }
это ява , просто пример.
Вот на C
Код public class Stuff { public int bullets; public int grenades; public int rockets; public Stuff(int bul, int gre, int roc) { bullets = bul; grenades = gre; rockets = roc; } }
только я хз как сделать в С лист из класса
|
|
| |
lakoris | Дата: Суббота, 09 Августа 2014, 14:42 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Ну просто сделать массив или словарь всех элементов инвентаря. При подборе если у нас нету такого предмета в инвентаре, добавляем его в список. Если есть - добавляем кол-во и вес к уже существующему предмету в списке.
|
|
| |
EfimovMax | Дата: Суббота, 09 Августа 2014, 21:44 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Не на Юнити, но я делал такой инвентарь для рогалика: Всё просто реализуется - переменная для хранения предметов игрока, и переменные предметов (имя, тип, вес и т.д.). Ну, и как сказали выше, при подборе предмета проверяешь вес предмета и текущий вес инвентаря игрока.
Текущий проект: The Experiment ☭
Выпущенные проекты Steam: Princess.Loot.Pixel.Again Princess.Loot.Pixel.Again x2 Dungetris
|
|
| |
lakoris | Дата: Воскресенье, 10 Августа 2014, 15:10 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| EfimovMax, со вкусом сделано)
|
|
| |