![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Предположим есть Bitmap или Sprite.
Нужно его трансформировать таким образом, что бы его верхние два угла придвинулись друг к другу по горизонтали. Таким образом получается 3d эффект, как будто бы картинка лежит на плоскости - перед нами. Это легко сделать в среде разработке - графическим редактором. Как это сделать программно? |
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
http://silin.fatal.ru
DistortBitmap |
|
|||||
|
Для такого несложного эффекта предлагаю такую схему:
Методом draw перерисовать объект в BitmapData Затем разбить объект на BitmapData высотой в 1 пиксель. И нарисовать эти как-бы строки на спрайт-контейнер. Звучит не очень, однако... Работает очень быстро. Пример: http://dnadillo.dn.ua/mur_gallery/ac3FLA/star_war.swf http://dnadillo.dn.ua/mur_gallery/ac3FLA/star_war.rar |
|
|||||
|
[+1.3 14.04.09]
Регистрация: May 2006
Сообщений: 113
|
Чтото пытался загрузить пример из поста два дисторт битмеп, выдает ошибку. Может не так открываю эти скрипты.
TypeError: Error #1007: Instantiation attempted on a non-constructor. at Main$iinit() Обясните пожалуйста, каков именно алгоритм. Я так понял это все идет перерисовка картинки по пикселям. Каким образом идут расчеты? Последний раз редактировалось der hund; 29.07.2008 в 23:50. |
|
|||||
|
ошибка из-за того что CS3 не понимает [Embed...]
положи картинку в библиотеку и бери BitmapData оттуда (да впрочем откуда удобнее..) алгоритм таков: разбиваем изображение на треугольники (потому как их можно исказить как угодно) и дружно плющим их, получается имитация.. полезные ссылки: http://www.flashsandy.org/blog/disto...s-by-code.html - тот же алгоритм но более тщательно все, работает лучше http://five3d.mathieu-badimon.com/ - просто чудо по удобству, но сейчас почему-то не доступен (404) |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 37
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|