![]() |
как узнать что маска заполнена?
Приветствую! Возникла следующая проблема.
Я делаю эффект ластика: есть картинка, на неё накладывается мувик, потом этот мувик стирается пока картинка не будет видна полностью. По сути получается наоборот, я рисую маску через которую видно картинку. Как узнать что картинку полностью видно? Код AS3:
|
Есть методы конечно, но это все очень и очень напрягает голову и ЦП, так что забудь :)
Может кто другой подскажет, и мне интересно будет. |
как вариант пройтись по всем пикселям маски и проверить их на прозрачность, ток как реализовать пусть кто нить другой напишет)
причём как только обнаружиться первый не прозрачный пиксель остановить цикл, да ещё б я начал проверку с 4 угловых пикселей, ну а потом уже все остальные |
Как вариант: вместо спрайта в качестве маски используете Bitmap. На битмапдате которого рисуете что-то (либо пиксели (setPixel/setPixel32), либо например любой экранный объект (draw) в качестве кисти). И когда требуется проверка, пробегаетесь по пикселям bitmapData (getPixel/getPixel32). Ну и как вариант (совершенно не обязательно), опять же, вместо маски можно использовать BlendMode.ERASE. По идее проблем будет меньше. Ну и скорее всего есть еще какие-то варианты/вариации.
|
Хеш байтаррая считайте. Если совпадает с оригинальным... внимание! мы имеем оригинальную BD.
|
Цитата:
|
BitmapData#getColorBoundsRect()
проверяем на альфу, или на цвет которым закрашивается маска (точнее, на отсутствие цвета)) |
BitmapData#compare() мне кажется лучше это, "Если объекты BitmapData идентичны (имеют одинаковую высоту, ширину и значения пикселей), метод возвращает значение 0." ели ещё перед этим скелить BitmapData основную и текущую то будет значительно быстрее хеша
|
Цитата:
|
а можно увидеть какой то пример исходя из моих исходников?
|
| Часовой пояс GMT +4, время: 16:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.