всю застилать не нужно, да и коллизии не нужны.
кординаты игрока известны, мировые известны.
хранить массив (структура int долгота, массив (int широта, bool false)).
Код:
struct MyStruct
{
TArray<bool> Bit=false;
}
TArray<MyStruct> BitMap;
//доступ по двум индексам,
int a,b; //мировые координаты разделенные на размер ячейки.
...
BitMap[a].MyStruct[b].Bit = true;
долготу широту умножаем на размерность пускай 5 метров.(но это мало, где то 30 метров 50 будет норм наверное)
получаем массив 200*200 и каждой ячейке есть булевая.(1км^2 с точностью 5м - это чб картинка 1 битная , 200*200 пикселов по сути).
вот персонаж бегает и включает тру- по кордам персонажа - получаем аqди ячейки - пишем тру.
без поисков циклов по координатам сразу получаем данные тру-фалс
спавн тоже от этих данных лучше сделать тогда уже, чтоб не проверять перед спавном.
да и когда все покрашено будет рандомизатору сложно будет попасть в черное.
вполне экономно я вроде придумал...
_________________
we need to go deeperПоследний раз редактировалось
Snake 26 янв 2018, 02:55, всего редактировалось 8 раз(а).