0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
|
|
1 | |
Координаты тайла в Tilemap08.02.2019, 16:51. Показов 11134. Ответов 7
Имеется два тайлмапа, один для пола и второй для стен. Персонаж перемещается четко по тайлам при помощи transform.position. Пробовал это делать при помощи физики, коллайдеров и velocity, но там начинаются смещения и при движении в стену персонаж часто пролезает между двумя коллайдерами стен. В итоге сделал движение без физики и по тайлам персонаж ходит просто замечательно. Но возник вопрос - как понять когда персонаж хочет шагнуть в стену? Можно ли, зная в какие координаты собирается шагнуть персонаж, определить - какой тайл находится в тайлмапе по этим координатам? Есть какие-нибудь примеры работы с координатами тайлов в тайлмапе?
0
|
08.02.2019, 16:51 | |
Ответы с готовыми решениями:
7
Как сделать так, чтобы кусок "карты" брался из файла? (SFML, tilemap) Даны целочисленные координаты трех вершин прямоугольника, найти координаты четвертой Даны координаты вершин треугольника и координаты некоторой точки внутри него Даны координаты вершин треугольника и координаты некоторой точки внутри него |
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
|
|
08.02.2019, 22:42 | 2 |
1
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|
09.02.2019, 00:08 | 3 |
https://docs.unity3d.com/ScriptReference/Grid.html
В самих тайлах нет координат, они в гриде считаются
1
|
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
|
|
09.02.2019, 13:33 | 4 |
Сообщение было отмечено LamerOnLine как решение
Решение
1
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|
09.02.2019, 15:23 | 5 |
Prog_maker, это не мировые координаты, вообще-то
1
|
0 / 0 / 0
Регистрация: 23.01.2009
Сообщений: 37
|
|
11.02.2019, 13:36 [ТС] | 6 |
Как оказалось, вполне можно обойтись относительными координатами самого тайлмапа. При помощи WorldToCell(transform.position) я получаю текущий тайл на котором находится персонаж, а потом, перед перемещением, проверяю при помощи GetTile(Vector3Int position) - чем является тайл в который шагает персонаж, просто прибавив перемещение к координате текущего тайла. Для простого пошагового перемещения такое решение вполне подходит, а вот для каких-нибудь телепортаций, наверное надо будет пользоваться мировыми координатами.
0
|
0 / 0 / 0
Регистрация: 20.10.2019
Сообщений: 9
|
|
17.03.2022, 18:27 | 7 |
можете скинуть свою доработку? я уже неделю сижу и не втупляю, у меня похожая конфигурация игры, как сделать, чтобы на определенные клетки не кликалось?
0
|
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
|
|
17.03.2022, 23:45 | 8 |
LamerOnLine, вообще надо делать абстрактную систему, в которой и происходят все события (перемещение, взаимодействие, атака), а сам грид/тайлмап только для визуала использовать, либо через физику и коллайдеры без абстракции (но это хуже для ИИ и поиска пути, к примеру). Можно совместить абстракцию с физикой, но там могут быть подводные камни.
0
|
17.03.2022, 23:45 | |
17.03.2022, 23:45 | |
Помогаю со студенческими работами здесь
8
Vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты Вычислить декартовы координаты точки, имеющую следующие полярные координаты Пусть даны координаты трех вершин прямоугольника. Определить координаты четвертой вершины Заданы координаты трех вершин прямоугольника. Необходимо определить координаты четвертой вершины Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Откуда у float лишние цифры в конце дробной части. Представление чисел с плавающей точкой
bytestream 25.01.2025
При разработке программного обеспечения часто возникает необходимость работать с вещественными числами, которые содержат дробную часть. В современных компьютерных системах такие числа представляются. . .
|
Как использовать глобальную переменную в функции в Python
bytestream 25.01.2025
В программировании на Python глобальные переменные представляют собой особый тип переменных, которые доступны для использования во всех частях программы, включая различные функции, классы и модули. . . .
|
Как в цикле обойти все элементы map в Java
bytestream 25.01.2025
В разработке на Java одной из наиболее востребованных структур данных является интерфейс Map, который предоставляет эффективный способ хранения и управления парами "ключ-значение". Разработчики. . .
|
Для чего нужен UserManager.isUserAGoat() в Android и как это использовать
bytestream 25.01.2025
В мире Android-разработки существует множество интересных и порой загадочных функций, о которых знают далеко не все разработчики. Одной из таких функций является метод UserManager. isUserAGoat(),. . .
|
Как обойти масси в JavaScript. Всё о циклах
bytestream 25.01.2025
JavaScript представляет собой мощный язык программирования, широко используемый в веб-разработке, где массивы и циклы являются фундаментальными концепциями для эффективной работы с данными. Массив в. . .
|
Как сделать, чтобы существующая ветка отслеживала удалённую в Git. Связывание локальных и удалённых веток
bytestream 25.01.2025
В разработке программного обеспечения системы контроля версий стали неотъемлемой частью процесса создания качественного программного продукта. Эти инструменты позволяют разработчикам эффективно. . .
|
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
|
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
|
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
|
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
|
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
|
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
|