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