Вы не сможете сделать это с самими элементами плитки, так как они всегда прямоугольные. Вам нужно будет отслеживать положение мыши в родительском элементе, содержащем все плитки, и вручную определять, какие пиксели соответствуют каким плиткам.
Для изометрического отображения положения на плитку это было бы легко, но для этого нужно было бы принять положение точки как место «на земле»; это не позволит вам использовать данные маски изображения для проверки объектов, таких как деревья, которые визуализируются перед землей. (Вы все равно хотите это сделать? В настоящее время некоторые деревья полностью закрывают плитку земли под ними.)
Если вам действительно нужно выполнить проверку совпадения с использованием масок изображений, вы можете:
а. напишите сценарий для извлечения данных маски из изображения и включения их в исходный код JavaScript в виде закодированных двоичных битовых масок. Я сделал это для обнаружения столкновений в играх на JavaScript, но это не очень весело, поскольку может занять много места, и вам придется повторно экспортировать данные при обновлении графики.
б. извлеките данные изображения для тестирования с помощью <canvas> и getImageData. На этом этапе вы также можете рассмотреть возможность использования холста для рендеринга, учитывая, что вы уже потеряли пользователей IE.
person
bobince
schedule
14.02.2010