Суббота, 23 Ноября 2024, 07:50

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с инвентарём.
PantДата: Суббота, 09 Августа 2014, 12:18 | Сообщение # 1
уже был
Сейчас нет на сайте
Мне нужно создать инвентарь в Unity 3D. Игрок должен поднимать вещь, выбрасывать её. Ячейки не нужны (ориентация по весу). Иконки не нужны. Т.е например:
-Еда x 2 (1 КГ)
-АК-47 x1 (20 КГ (пример))
Свободно 9 кг.

Помогите, пожалуйста, и не пишите: "Ты что глупый?Бери руки и делай"
Самыe начальные знания C#

help


Сообщение отредактировал Pant - Суббота, 09 Августа 2014, 12:19
JHawkДата: Суббота, 09 Августа 2014, 12:40 | Сообщение # 2
めゃくちゃちゃ
Сейчас нет на сайте
К примеру у тебя есть переменная, которая обозначает все пространство инвентаря. Назовем ее Inv:
Код
public float inv;

Есть переменная, обозначающая сколько сейчас в инвентаре места занято:
Код
public float curinv;

Идем дальше, при подборе предмета нам надо проверить: влезет ли он в наш рюкзак?
Проверяем:
Код
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, со вкусом сделано)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг