Итак, мне удалось написать первую часть (алгоритм) для вычисления позиции каждого тайла, где он должен быть размещен при рисовании этой карты (см. Ниже). Однако мне нужно иметь возможность преобразовать местоположение мыши в соответствующую ячейку, и я почти рвал волосы, потому что не мог понять, как получить ячейку из местоположения мыши. Меня беспокоит, что это связано с довольно сложной математикой или чем-то вроде того, что я просто не могу заметить.
Например, если позиция мыши - 112; 35 , как мне вычислить / преобразовать ее, чтобы получить, что ячейка находится в этой позиции 2; 3 ?
Может быть, здесь есть какой-нибудь действительно хороший программист с математическим мышлением, который поможет мне в этом, или кто-то, кто знает, как это сделать или может дать некоторую информацию?
var cord:Point = new Point();
cord.x = (x - 1) * 28 + (y - 1) * 28;
cord.y = (y - 1) * 14 + (x - 1) * (- 14);
Кстати о карте, каждой ячейке (прозрачная плитка 56x28 ] пикселей) размещается в центре предыдущей ячейки (или в нулевой позиции для ячейки 1; 1), выше - это код, который я использую для преобразования ячейки в позицию. Я пробовал много вещей и вычислений для определения положения в ячейку, но каждый из них не удался.
Изменить: После прочтения большого количества информации кажется , что использование цветовой карты вне экрана (где цвета отображаются на плитки) является самым быстрым и эффективным решением?