Показать сообщение отдельно
Старый 05.04.2015, 00:30   #4
Пользователь
 
Регистрация: 19.08.2014
Сообщений: 58
Сказал Спасибо: 12
Имеет 0 спасибок в 0 сообщенях
cvillian пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
Код:
const
  // размер одного блока карты:
  blockSize=32768; // что равно сдвигу в лево на 15 бит

var
  xbn,ybn,x,y,bx,by,xb,yb: integer;

begin
  // зависимость номера блока от координат:
  xbn:=(x div blockSize - x shr 31) + 20;
  ybn:=(y div blockSize - y shr 31) + 18;

  // расчет координат блока:
  bx:=(x div blockSize - x shr 31) * blockSize;
  by:=(y div blockSize - y shr 31) * blockSize;

  // расчет координат внутри блока:
  xb:=x - bx;
  yb:=y - by;
end;
Координаты блока - это координата его верхнего левого угла относительно всей карты?

А координатами внутри блока можно воспользоваться чтобы отмечать своё местоположение как это например в волкере?
cvillian вне форума   Ответить с цитированием