Общие вопросы 31.05.2017 / 21:08 | | Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| HeWeD, нахер клиент на яве на десктопе? Сам то подумай __________________
わからない!! |
26.07.2017 / 19:43 | | Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Как сделать освещение как в террария в тайловой игре?
__________________
Смерть правит миром |
30.07.2017 / 17:16 | | Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| В терарри есть несколько видов блоков одного типа. Например таже земля: Обычный квадтратный вид, склон в лево, склон в право, склон вниз-влево, склон вниз-вправо, полублок. Как так сделать программино?(метка 1) Что бы из всех типов выпадал один предмет. Так что бы на программином коде было мень ответсвенности и меньше хранение данных. Сама карта хранит двухмерный массив ссылок на Block которые в списке. То есть на карте будет блок в одном месте копия другого такогоже в другом месте. Теже парментры. Вот у меня несколько вариантов сделать разные виды одного блока. Один из них Один из них Можно в список всех блоков добавить ещё блоки, со своим спрайтом, а то что из него дроп, настроки сами, то можно стантардный блок передовать в качестве параментра. Но думаю этот способ сильно бредовый. Это самый первая мысль. Как тут думаете? (метка 2)Вторая идея Вторая идея Хранить на урове список где будет точка int[]{x,y} будет равна объекту настроек отображения. То есть каждый блок будет изменять первый и второй элимент массива рассположения и браться из списка настроки. Если null, то брать стандартные, если есть, то настраивать. Но тут опять же есть минусы. Сильно будет тормазить. Будет не сильно то и удобно за этим следить. (метка 3)Придумал пока писал В Более реалистичыный вариант Придумал пока писал В Более реалистичыный вариант Можно наследовать Block, и переопределить метод рисования. И создать у самого Block поле, которое будет хранить тип отображения. Но... Тогда будет сложность в определении столкновений со срезаными блоками. Ну или переписать код, где "жёсткая" проверка столкновения, станет отправлять отпралять объект на проверку столкновений на сам блок. Блок завися от переменной будет "сдвигать" объект зависимо от его отображения. Тут как думаете?(метка 4)Немного к последниму, чуть-чуть размышлений Немного к последниму, чуть-чуть размышлений Так. Ну тогда как же добовлять блоки в игру? Сейчас у меня из JSON объекта загружает. Что для определённого порядка хранения данных нормально. Но блоки все разные, могут быть и разные по функциональности. Хотя я сделал так, что бы можно было в JSON указать путь к классу и его загрузить. Но... Более ручная настрока нужна к каждому блоку. То есть всё прописать в ручну в коде, все парментры. Как тут думаете? (метка 5)* "(метка n)" - для удобства в обсуждении. __________________
Смерть правит миром |
30.07.2017 / 17:18 | | Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Блин. К метке 4 и 5. Забыл. У меня же ссылки на объекты из списка. А не на каждую ячейку карты по одному объекту... Блин. Как быть?
__________________
Смерть правит миром |
1.08.2017 / 04:50 | | RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| Каждому блоку пропиши ид предмета, который из него выпадать будет. Или создай функцию, которая будет определять нужный предмет по иду блока, в ней сделать несколько проверок типа (id>5 && id<10) item = 5, а в остальных случаях возвращать item = id. если таких исключений не планируется много. Не понял, содержится ли тут вопрос про коллизию разных блоков, но ты в любом случае ее не поймешь как сделать, так что нет смысла кидать эту ссылку в очередной раз |
1.08.2017 / 07:17 | | Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| RblSb, Так. Я понял ты хочешь что бы у меня в списке блоков, были отдельные блоки - срезные? Но, нужно придумать как с игры, с помощью инструмента срезать блоки. Это нужно будет блок карты меня на другой блок. Но как узнать какой?
Может в блоке хранить ссылку на блок, который после него? То есть ударив блок инструментом, из него берётся айди(или название) и ставится на место. А так у меня каждый блок хранит название предмета, который выпадает.
То что проверять столкновеня... Нужно же как-то проверять столкновеня со срезанными блоками? Можно сделать "enum"ы типов. При сталкивании в зависимости от типа, проверять столкновение. Тут я хотел поместить коллезею в блок, но думаю сделаю отдельный класс столкновений. Буду вызывать метод, туда объект и блок. Там бальше определяет какой тип и вызывает другой определённый метод.
__________________
Смерть правит миром |
1.08.2017 / 07:50 | | RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| Цитата Death: Я понял ты хочешь что бы у меня в списке блоков, были отдельные блоки - срезные?Чего? Что ты имеешь ввиду под списком блоков? У тебя нет в тайлсете блоков под углом? Как ты их выводишь тогда? Какого инструмента? Не будь богданом, перед отправкой сообщений ставь себя на сторону других людей. Это нужно будет блок карты меня на другой блокWow... Но как узнать какой?Координаты игрока делим на размер тайла. Может в блоке хранить ссылку на блок, который после него?Зачем? След. предложение не понял. В абзаце с коллизией разбираться не вижу смысла. Хотя, в нем и вопросов нет.
Изменено RblSb (1.08 / 07:52) (всего 1 раз) |
1.08.2017 / 09:04 | | aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Death, уже второй человек ничего не понимает, самое время задуматься. Расписал кучу всего, коллизии какие-то, enum, а по делу ничего.
Опять же ткну наугад, может подтолкну к чему. Посмотри в сторону тайловой анимации (не знаю как правильно это называется). В общем, представь, что тебе нужно делать анимированный тайл воды, состоящий из двух или более кадров, как бы ты это делал? Очевидно, в блоке воды, завёл бы какой-нибудь счётчик кадров, который влиял бы на то, какой тайл воды выводить и менял бы этот счётчик ежесекундно. С землёй точно так же, только теперь ты этот счётчик должен менять лишь при необходимости.
__________________
let live |
1.08.2017 / 09:53 | | vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Короче, Смерть, добавляешь к типу блока его подтип и подтип от события меняешь. Всё как сказал Анимон
__________________
знает толк |
1.08.2017 / 10:27 | | Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| RblSb, Вот рисунком сделал, что хочу.
__________________
Смерть правит миром
Прикрепленные файлы: Объеснение.png (14.84 кб.) Скачано 191 раз |
Всего сообщений: 1673 Фильтровать сообщения Поиск по теме Файлы топика (38)
|