|
0 / 0 / 0
Регистрация: 31.10.2017
Сообщений: 14
|
|
Ограничение зоны на карте в 2D игре30.03.2018, 10:55. Показов 1996. Ответов 16
Метки нет (Все метки)
0
|
|
| 30.03.2018, 10:55 | |
|
Ответы с готовыми решениями:
16
Как в игре ограничить движение космического корабля областью игровой зоны Определите тип данных, представлющий информацию о карте в карточной игре Ограничение мышки в игре |
|
Модератор
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
|
|
| 30.03.2018, 17:29 | |
|
Без контекста вопрос не имеет не только смысла, но и решения.
0
|
|
|
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
|
|
| 31.03.2018, 16:35 | |
|
использовать алгоритмы поиска пути
https://ru.wikipedia.org/wiki/... 1%82%D0%B8
0
|
|
| 01.04.2018, 07:14 | |
|
Если главный герой управляется кликом мыши, то да нужен алгорим поиска пути. Если клавиатурой, то нужно каждый игровой тик проверять не попадают ли (x + dx) и (y + dy) в запретные зоны.
1
|
|
|
0 / 0 / 0
Регистрация: 31.10.2017
Сообщений: 14
|
|
| 03.04.2018, 20:35 [ТС] | |
|
А как указать эти запретные зоны, именно кривые линии?
0
|
|
| 04.04.2018, 06:23 | |
|
Прямыми линиями и условиями if
0
|
|
| 04.04.2018, 09:59 | |
|
Опишу простейший случай запретных зон в 1D.
Пусть точка может передвигаться только по оси X: Обозначим на рисунке запретные зоны: Точка может перемещаться влево и вправо в диапазоне [5, 10], что можно проверять с помощью условий if перед тем, как вы хотите передвинуть точку на приращение dx. Если новая координата x = x + dx меньше, чем 5 или больше, чем 10, то изменение координаты не происходит.
0
|
|
|
Модератор
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
|
||||||||||||||||
| 04.04.2018, 13:35 | ||||||||||||||||
|
Разбей сложную фигуру на треугольные полигоны и проверяй принадлежность к каждому из них.
Навскидку:
Код демосцены
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 31.10.2017
Сообщений: 14
|
|||||||||||
| 05.04.2018, 14:04 [ТС] | |||||||||||
|
Управление клавиатурой.
Есть линия и если персонаж попадает в эти координаты, то остановить его.
0
|
|||||||||||
| 05.04.2018, 15:07 | ||
|
Если есть такой код, то сделайте, чтобы работало на plnkr.co, codepen.io или jsfiddle.net В общем, покажите весь код и чтобы было проще нам его понять и править. Перенесите его на любой онлайн ресурс и не забудьте продублировать код на форуме, потому что этого требуют правила форума.
0
|
||
|
0 / 0 / 0
Регистрация: 31.10.2017
Сообщений: 14
|
||||||
| 05.04.2018, 19:38 [ТС] | ||||||
0
|
||||||
| 05.04.2018, 19:55 | |
|
Вы не могли бы скинуть весь проект одним архивом, чтобы можно было запустить?
Добавлено через 3 минуты Просто я вижу у вас ресурсы должны подгружаться, а без них не запустишь.
0
|
|
|
9 / 9 / 3
Регистрация: 16.02.2018
Сообщений: 29
|
||||||
| 06.04.2018, 10:08 | ||||||
|
А я бы просто использовал красный цвет черты.
[HTML] <canvas id='myCanvas' width='400' height='400'></canvas> <canvas id='canvas' width='90' height='90'></canvas> [HTML]
0
|
||||||
| 06.04.2018, 11:53 | |
|
Neznaikax, я бы вам посоветовал изучить туториал по игре Арканойд, где показаны основы детектирования столкновения объекта с блоками и ракеткой: 2D breakout game using pure JavaScript Тогда вам будет ясно, как обозначить прямоугольники вокруг ваших объектов, куда не должен заходить игрок: машины, дома - это всё прямоугольные объекты. В начале не нужно усложнять. Пройдите этот этап с минимальной затратой времени и сил. Потом, когда захотите непрямоугольные объекты, то вам уже будет проще сориентироваться
0
|
|
|
0 / 0 / 0
Регистрация: 31.10.2017
Сообщений: 14
|
|
| 06.04.2018, 13:12 [ТС] | |
|
Единственное, что я не могу понять. Как заключить координаты линии в переменную?
0
|
|
| 07.04.2018, 08:22 | |||
|
Добавлено через 18 часов 35 минут
0
|
|||
|
9 / 9 / 3
Регистрация: 16.02.2018
Сообщений: 29
|
|||||||||||
| 08.04.2018, 03:09 | |||||||||||
|
А всё же, почему не использовать цвета? В этом коде я таскаю мышкой объект по вашему рисунку, разрешено таскать только по фону пола. Можете посмотреть работу кода
http://id190382234-0.myjino.ru/raznoe/1/GFGF.htm Можно специально подготовить рисунки где разрешено ходить проставить прозрачность 254, и код будет совсем прост.
Объект появится если потянуть мышку с прижатой левой кнопкой по рисунку
0
|
|||||||||||
| 08.04.2018, 03:09 | |
|
Помогаю со студенческими работами здесь
17
В SML игре задать ограничение на выход объекта из границ Ошибка 0x000000101 , при игре 10 минутной игре в Dota 2, CS:GO Как создать ограничение? Надо создать ограничение ввода букв, а то программа виснет! Как отлавливать нажатия клавиш в игре? Как их виртуально нажимать в игре? зоны Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|