![]() |
Всем доброго дня!
Ни одна формула не заработала как надо. Первая формула рассчитывала строки не верно. Тыкаю в клетку 4, а она показывает 14. Вторая формула была не точна. Тыкаю на одну и ту же клетку, но в разные места, и значения целые были разные. А третья формула показывает значение строки 800, когда тыкаю к строку 0. Сейчас попробую сам пересчитать всё это с листочком и ручкой, а пока считаю, дам Вам информацию для размышления. Все тайлы карты я рисую в один большой Bitmap. Для его рассчёта я определяю положения крайних точек: Код AS3:
Код AS3:
Код AS3:
Добавлено через 26 минут Вот для размышления. Красный прямоугольник - это Bitmap, по которому мышкой тыкаем. http://xmages.net/storage/10/1/0/d/4...d/a5ac3373.png |
Цитата:
Лошадь пусть размышляет - у нее голова большая. Вот, если интересно, когда-то начинал делать проект с изометрией, формулы отличаются, но рабочие. |
Есть рисунок, на который должны быть выведены изометрические тайлы. Количество колонок и столбцов на карте задано:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
http://xmages.net/storage/10/1/0/c/f...d/a60fa20d.png При этом каждый тайл ограничен прямоугольной областью: http://xmages.net/storage/10/1/0/c/9...d/439f3c83.png Но все они лежат в картинке: http://xmages.net/storage/10/1/0/a/c...d/a87822b7.png На картинку подписано событие MOUSE_DOWN. Нужно определить столбец и строку тайла, на который тыкнули мышкой. Есть какие-то идеи? |
Вы пример то хоть смотрели. Там есть общая формула преобразования из экранных координат в изометрические. А по изометрическим координатам, зная шаг сетки, определить строку и столбец думаю труда не составит.
|
Stitch512
Посмотрел. Даже скопировал функцию перевода. Но не помогло((( |
hitTestPoint? Узнать какой тайл под мышкой...
|
Цитата:
Добавлено через 1 минуту Цитата:
|
По-моему во 2-м и 3-м посте просто потеряли 2-ку. Всё справа ещё умножить на 2. Должно сработать. Если нет, то проверьте и нарисуйте на ваших картинках, где находится screenX и screenY, если x = y = 0. Должна быть точка в верхнем углу.
|
| Часовой пояс GMT +4, время: 01:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.