Альтернатива техники маскировки для игнорирования события мыши на деталях на активе - PullRequest
1 голос
/ 21 февраля 2012

В моей изометрической флеш игре у меня есть модели с длинными тенями. Я хочу игнорировать события мыши (перемещение, щелчок, вниз и вверх), когда пользователь выполняет какое-либо действие с теневой частью изображения. (см. пример изображения)

Я знаю, что мы можем сделать это, создав маску во флэш-памяти. Но что, если я захочу справиться с этим на изображениях .png (растровое изображение)? Нужно ли создавать изображение маски для всех таких изображений? Я думаю, что это будет очень важно, если нет простых способов (с помощью инструментов в Photoshop).

Обновление: Ищите «кодируемое» решение для работы с тенями (как, например, сказанное Richie_W

Получить значение цвета пикселя, в котором была нажата мышь - если это цвет тени вы можете игнорировать щелчок

НЕ решение, которое включает в себя художественные работы, такие как создание маски или теневого актива и т. Д.

Мой друг сказал мне, что cityville не использует маски, но они обрабатывают код.

Кто-нибудь знает, как это можно сделать? OR

Это не может быть запрограммировано, и единственный способ создать маски?

Sample image

1 Ответ

4 голосов
/ 21 февраля 2012

Есть несколько вариантов, которые вы можете попробовать (IMO в порядке качества решения):

  • Обновите вашу систему, чтобы отделить теневой актив от объекта, отбрасывающего тень. Оттуда легко только прикрепить слушателя щелчка к правильному активу. Эта система учитывает будущие улучшения, такие как изменение теневого актива во время выполнения (в разное время дня и т. Д.) Без необходимости обновлять узел прослушивателя кликов.

  • Получить значение цвета пикселя, в котором была нажата мышь - если это цвет тени, вы можете игнорировать щелчок. Это довольно нестабильное решение, но его легко внедрить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...