Страница 1 из 2

Сетчатый инвентарь

СообщениеДобавлено: 11 авг 2022, 15:51
SpidFiar
Прошу тапками не бросать, я уже 3 раза бросал создание игры из за того что не могу осилить такой инвентарь и просто сгорал, т.к не находил не уроков не самой идеи.
Для игры требуется инвентарь по типу того что сейчас в Таркове есть или Диабло, нужно что бы предмет был не только 1х3 но и к примеру буквой Г и тп. Буду рад если поможете хотя бы с обычной системой что бы были квадраты 1х1, 2х2. Ассеты качал и ставил но там такое нагромождение кода что я не понимаю саму "Идею" и ход всего механизма. Заранее большое спасибо

Re: Сетчатый инвентарь

СообщениеДобавлено: 11 авг 2022, 16:19
waruiyume
Есть мешок, куда складываются объекты- прямоугольный массив и лист с предметами.
Есть отдельный массив предмета, где помечены занятые клетки.
Когда мы засовываем предмет в мешок, мы обходим массив предмета, проецируя координаты на массив мешка.
Если все занятые, в массиве предмета, свободны в массиве мешка, то предмет можно положить в мешок.
Записываем в мешок ссылки на предмет.
Записываем предмет в лист.

Re: Сетчатый инвентарь

СообщениеДобавлено: 11 авг 2022, 16:35
SpidFiar
waruiyume писал(а):Есть мешок, куда складываются объекты- прямоугольный массив и лист с предметами.
Есть отдельный массив предмета, где помечены занятые клетки.
Когда мы засовываем предмет в мешок, мы обходим массив предмета, проецируя координаты на массив мешка.
Если все занятые, в массиве предмета, свободны в массиве мешка, то предмет можно положить в мешок.
Записываем в мешок ссылки на предмет.
Записываем предмет в лист.


Сложна ! Наверное надо почитать больше номенклатуры. Я думаю что попробую что то наваять т.к "Идею" я понял. Осталось разобраться с массивами.
Есть мешок, куда складываются объекты- прямоугольный массив и лист с предметами. -- Я так понял имеется в ввиду окно инвенторя то бишь сетка и надо каждой клетке дать bool занятая или пустая ?
Есть отдельный массив предмета, где помечены занятые клетки.-- Если можно дать каждой клетке номер и состояние наполненности зачем это пункт ? Как я понял мы их Смежуем для того что бы движок понял какие именно заняты.
Спасибо за это я кажется начинаю что то понимать !! Осталось только с кодингом разобраться

Re: Сетчатый инвентарь

СообщениеДобавлено: 11 авг 2022, 18:19
SpidFiar
waruiyume писал(а):Есть мешок, куда складываются объекты- прямоугольный массив и лист с предметами.
Есть отдельный массив предмета, где помечены занятые клетки.
Когда мы засовываем предмет в мешок, мы обходим массив предмета, проецируя координаты на массив мешка.
Если все занятые, в массиве предмета, свободны в массиве мешка, то предмет можно положить в мешок.
Записываем в мешок ссылки на предмет.
Записываем предмет в лист.


Я столкнулся с такой проблемой, вот у меня есть массив на 6 клеток, у каждой есть свой номер, как мне их объединить если к примеру у первой клетки номер 0 а у нижней номер 2, я запускал проверку по ++i на наличии пустой клетки но он тут не поможет, не пойму как сделать саму объёмность. А нет случайно какой то статьи или уроков ?

Re: Сетчатый инвентарь

СообщениеДобавлено: 12 авг 2022, 01:33
Saltant
А че бы не сделать просто количество клеток в инвентаре и считать влезает ли туда предмет на 3 клетки или уже нет места, а все "физические" проверки тупо на клиенте делать какими нить рейкастами, ну типа если предмет буквой Г и игрок не может найти место под этот предмет (хотя количество свободных клеток есть) то на стороне клиента и не давать плюхнуть этот предмет в инвентарь, в принципе рабочий варик так то.

Re: Сетчатый инвентарь

СообщениеДобавлено: 12 авг 2022, 20:39
SpidFiar
Saltant писал(а):А че бы не сделать просто количество клеток в инвентаре и считать влезает ли туда предмет на 3 клетки или уже нет места, а все "физические" проверки тупо на клиенте делать какими нить рейкастами, ну типа если предмет буквой Г и игрок не может найти место под этот предмет (хотя количество свободных клеток есть) то на стороне клиента и не давать плюхнуть этот предмет в инвентарь, в принципе рабочий варик так то.


а можно какой то пример показать или наработку. вообще буду рад если есть какая то книга или уроки, а то в интернете очень мало информации на эту тему. Я как новичок понимаю принцип но мало опыта самого программирования

Re: Сетчатый инвентарь

СообщениеДобавлено: 12 авг 2022, 21:13
Saltant
SpidFiar писал(а):
Saltant писал(а):А че бы не сделать просто количество клеток в инвентаре и считать влезает ли туда предмет на 3 клетки или уже нет места, а все "физические" проверки тупо на клиенте делать какими нить рейкастами, ну типа если предмет буквой Г и игрок не может найти место под этот предмет (хотя количество свободных клеток есть) то на стороне клиента и не давать плюхнуть этот предмет в инвентарь, в принципе рабочий варик так то.


а можно какой то пример показать или наработку. вообще буду рад если есть какая то книга или уроки, а то в интернете очень мало информации на эту тему. Я как новичок понимаю принцип но мало опыта самого программирования

Не знаю что за наработку ты хочешь, простой массив с классом типа Item, этот класс описывает предмет в инвентаре. Дальше в UI тупо рейкастами проверка клеток, сами клетки какой нить GridLayoutGroup.

Re: Сетчатый инвентарь

СообщениеДобавлено: 13 авг 2022, 08:27
1max1

Re: Сетчатый инвентарь

СообщениеДобавлено: 21 авг 2022, 20:43
SpidFiar
Saltant писал(а):
SpidFiar писал(а):
Saltant писал(а):А че бы не сделать просто количество клеток в инвентаре и считать влезает ли туда предмет на 3 клетки или уже нет места, а все "физические" проверки тупо на клиенте делать какими нить рейкастами, ну типа если предмет буквой Г и игрок не может найти место под этот предмет (хотя количество свободных клеток есть) то на стороне клиента и не давать плюхнуть этот предмет в инвентарь, в принципе рабочий варик так то.


а можно какой то пример показать или наработку. вообще буду рад если есть какая то книга или уроки, а то в интернете очень мало информации на эту тему. Я как новичок понимаю принцип но мало опыта самого программирования

Не знаю что за наработку ты хочешь, простой массив с классом типа Item, этот класс описывает предмет в инвентаре. Дальше в UI тупо рейкастами проверка клеток, сами клетки какой нить GridLayoutGroup.



Короче пока что единственное что сделал это использовал тригера. https://disk.yandex.ru/i/bn74ws7SnhtTKg https://disk.yandex.ru/i/QGhSZDlzwANvCg Осталось решить как сделать так что бы предметы не ставились в те же слоты. А вообще думаю это не очень действенный метод и надо как то по другому придумать как это реализовать. Мне советовали использовать прямоугольный массив. Я даже не очень шарю что это такое, я его использовал только для того что бы сделать рандомный спавн.

Re: Сетчатый инвентарь

СообщениеДобавлено: 28 авг 2022, 22:25
vitalik77
SpidFiar писал(а):Прошу тапками не бросать, я уже 3 раза бросал создание игры из за того что не могу осилить такой инвентарь и просто сгорал, т.к не находил не уроков не самой идеи.
Для игры требуется инвентарь по типу того что сейчас в Таркове есть или Диабло, нужно что бы предмет был не только 1х3 но и к примеру буквой Г и тп. Буду рад если поможете хотя бы с обычной системой что бы были квадраты 1х1, 2х2. Ассеты качал и ставил но там такое нагромождение кода что я не понимаю саму "Идею" и ход всего механизма. Заранее большое спасибо

Чего ты себя мучаешь. Возьми вот человек сделал годный инвентарь с объектами. Я его использую сам, к нему можно и крафт легко привязать итд. Все на ячейках завязано.

Re: Сетчатый инвентарь

СообщениеДобавлено: 19 окт 2022, 22:55
SpidFiar
vitalik77 писал(а):
SpidFiar писал(а):Прошу тапками не бросать, я уже 3 раза бросал создание игры из за того что не могу осилить такой инвентарь и просто сгорал, т.к не находил не уроков не самой идеи.
Для игры требуется инвентарь по типу того что сейчас в Таркове есть или Диабло, нужно что бы предмет был не только 1х3 но и к примеру буквой Г и тп. Буду рад если поможете хотя бы с обычной системой что бы были квадраты 1х1, 2х2. Ассеты качал и ставил но там такое нагромождение кода что я не понимаю саму "Идею" и ход всего механизма. Заранее большое спасибо

Чего ты себя мучаешь. Возьми вот человек сделал годный инвентарь с объектами. Я его использую сам, к нему можно и крафт легко привязать итд. Все на ячейках завязано.



Так и кодить не научишься если брать всё у других. Я кста почти сделал инвентарь сам. единственное пока что проблемы и подбором предмета. У меня почему то не определяет что предмет затронул все клетки. Короче если смогу это победить скорее всего инвентарь готов в базовом виде.

Re: Сетчатый инвентарь

СообщениеДобавлено: 19 окт 2022, 23:34
1max1
Так и кодить не научишься если брать всё у других.

Согласен, никогда не смотри чужой код, а то мало ли, вдруг там подсказка есть, так не интересно... :)

Re: Сетчатый инвентарь

СообщениеДобавлено: 19 окт 2022, 23:36
Saltant
SpidFiar писал(а):Короче если смогу это победить скорее всего инвентарь готов в базовом виде.

Скорее всего инвентарь говно, но за то опыт какой то получишь точно :-B

Re: Сетчатый инвентарь

СообщениеДобавлено: 20 окт 2022, 18:25
SpidFiar
Saltant писал(а):
SpidFiar писал(а):Короче если смогу это победить скорее всего инвентарь готов в базовом виде.

Скорее всего инвентарь говно, но за то опыт какой то получишь точно :-B

Ну надо же с чего то начинать. Так гляди методом проб и ошибок получиться что то годное в конце.

Re: Сетчатый инвентарь

СообщениеДобавлено: 20 окт 2022, 18:29
SpidFiar
1max1 писал(а):
Так и кодить не научишься если брать всё у других.

Согласен, никогда не смотри чужой код, а то мало ли, вдруг там подсказка есть, так не интересно... :)

Я имел в виду что полностью брать его и не думая вставлять везде, я могу тупо скачать чужой ассет и сделать из него что то во что можно играть но тогда я совсем нечего не научусь . Я думаю что если ты новичёк как я нужно сначала попробовать всё написать с нуля самому (заимствуя идеи извне) что бы понять весь смысл и логику. А потом с опытам можно уже что то копипастить что бы ускорить написание кода.