Я создаю платформер на JavaScript, используя холст
, который полностью основан на плитках. Как лучше всего хранить блоки предметов в игре (стены, полы, предметы)? Дело в том, что каждую плитку можно уничтожить или создать.
В настоящее время у меня есть 2D-массив, поэтому я могу быстро проверить, находится ли элемент в определенной позиции X и Y. Проблема заключается в том, что когда пользователь перемещается и карта должна прокручиваться, мне нужно переназначить каждый блок. А что происходит, когда элемент находится на x = 0
? Я не могу использовать отрицательные индексы.
Я бы предпочел использовать аналог прокрутки, который накладывается на плитку за раз. Также я планирую генерировать карты случайным образом по мере движения пользователя и, если он не был создан ранее. Итак, как только что-то сгенерировано, оно должно оставаться таким навсегда.
Еще один момент, который я должен упомянуть, это то, что это также будет многопользовательский режим. Так что разделение экрана по частям - отличная идея, пока кэшированные данные не станут грязными и не потребуется получать последнюю информацию из базы данных. Ха, я новичок во всем этом; кажется невозможным, любая помощь приветствуется.