Итак, я создаю довольно простую 2d игру, где пользователи могут «рисовать» карту.(На самом деле, они не рисуют его, вручную вводят список х / у, но аспект дизайна не важен сейчас.)
Когда добавляется новая плитка, эта плитка входит в массив всех плитокв игре.
Центр составляет 0,0.Плитки могут быть добавлены во всех направлениях, поэтому могут быть в 1,1, 100, 100 или -50, -50.
Иногда я хочу определить, какая плитка находится в определенном месте.Один (imho плохой) способ сделать это состоит в том, чтобы получить x / y и перебрать все плитки и проверить, находятся ли они в этом месте.
То, как я сейчас это делаю, - это иметь отдельный 2dмассив нулевых элементов, и когда плитка добавляется, она устанавливается в этом массиве.(т. е. tilemap [10] [10] = tile [100]) Конечно, поскольку значения могут быть отрицательными, tilemap [0] [0] на самом деле является плиткой -1000 / -1000.(выбран в качестве произвольного предела)
Есть ли лучший способ сделать это?Я чувствую, что использование огромного массива в основном пустых объектов может быть более оптимальным.
Большое спасибо.