Пятница, 29 Марта 2024, 10:45

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Java » Как отслеживать выбор нескольких объектов и их пересечение? (Речь идет об организации хранения местополжения объектов)
Как отслеживать выбор нескольких объектов и их пересечение?
n06rinДата: Пятница, 20 Декабря 2013, 07:57 | Сообщение # 1
был не раз
Сейчас нет на сайте
В каждой игре что я делаю я прихожу к тому, что надо как-то решать проблему пересечения объектов.

Раньше я для этого создавал двумерную матрицу, ячейки в которой соответсвовали соответствующим координатам на экране. На картинке должно быть понятно что я имею в виду.
ссылка на картинку
Данная матрица удобная для работы с объектами. Можно сразу выделить множество, следить на каком объекте находится курсор. прокладывать путь, не обходя занятые ячейки.

Однако, сейчас я прихожу к тому что это не самое удобное решение. В том же javafx каждый объект который видит игрок может сам обрабатывать события, поэтому подобная матрица кажется излишней.

Как вы подходите к решению этой проблемы? Наверняка есть более удобные решения.


мой блог там выкладываю материалы своих разработок. Буду рад если посмотрите!
FadeBakerДата: Суббота, 21 Декабря 2013, 16:56 | Сообщение # 2
JavaSE Game Developer
Сейчас нет на сайте
Если я тебя правильно понял, то тебе нужен алгоритм проверки столкновений и выполнение событий столкновения между объектами. То, что ты называешь матрицей, называется Spatial Hashing (разбиение пространства на сектора). Далее у объекта вычисляется ячейка, на которой он находится, берутся объекты из соседних ячеек, потом происходит банальная проверка пересечения прямоугольников, описывающие объект (проще говоря - это маска столкновения). Ну и вызвать функцию handleCollision(object) у объектов, с которыми пересекся наш объект. Как-то так.

Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Форум игроделов » Программирование » Java » Как отслеживать выбор нескольких объектов и их пересечение? (Речь идет об организации хранения местополжения объектов)
  • Страница 1 из 1
  • 1
Поиск:

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