Мне нужна помощь / совет для улучшения / комментирования моего текущего дизайна, пожалуйста:)
Это относится к обнаружению столкновений в простой игре: динамические тела (движущиеся) могут сталкиваться со статическими телами (то есть с землей, стенами)).Я портирую свою модель Obj-C на Javascript и сталкиваюсь с вопросами памяти / производительности относительно моего способа реализации этого.
Я использую очень простой подход: массив массивов представляет мой уровень в терминахс непрозрачностью.
бит установлен в 0: прозрачная область, тела могут проходить через
бит установлен в 1: непрозрачная область, тела сталкиваются
Тестирование прозрачности / непрозрачности пикселя происходит следующим образом:
if (grid[x][y]) {
// collide!
}
Мои знания JS довольно ограничены с точки зрения производительности / памяти и могутОценить, насколько хорош этот подход :) Не знаю, насколько эффективно использовать массивы.
Просто представьте себе уровень шириной 1000 пикселей и высотой 600 пикселей.Это небольшой уровень, но это уже означает массив, содержащий 1000 массивов, каждый из которых содержит до 600 записей.Кроме того, я не нашел способа обеспечить создание элемента размером 1 бит, как у языков низкого уровня.
Используя следующее, могу ли я быть уверен, что запись не является чем-то «другим», чемнемного?
grid[x][y] = true;
grid[x][y] = false;
Спасибо за ваше время и комментарии / советы!
J.