Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   наложение картинки на "полигоны" (http://www.flasher.ru/forum/showthread.php?t=73385)

Therion 21.12.2005 03:20

наложение картинки на "полигоны"
 
я точно знаю, что такое можно сделать, даже где-то исходник видел ,но саму технику понять не смог :(
Значит есть кубик, который сделан в ActionScripte, и который можно вращять влево или вправо.
И мне надо в грани кубика вставить картинку.
Внимание ворпос:
КАК?
К сожалению выложить исходник я на форум не смог ,выдает ошибку

Double 21.12.2005 11:22

если вращение только вокруг одной оси и картинки не динамические, то проще всего сделать вращение, как набор отрендереных кадров (если на сайте исходники сохранились, то можно посмотреть, как много лет назад я делал эту ерунду чуть ли не на четвёрке).
если картинка аттачится на кубик уже в процессе исполнения скрипта, то х.з. на мой взгляд, для решения таких задач и создан Director.

Andromed 21.12.2005 11:45

http://www.vipsauna.com/test/horsebox3D.html
исходник
http://www.vipsauna.com/test/horsebox3D.fla

AlexMatveev 21.12.2005 14:05

Therion

а как же перспектива (передняя грань куба должна быть больше чем задняя)... в твоем примере этого нет. Теряется 3D эффект.
Надо разруливать 8 флеш, с его помощью можно добиться такого эффекта, правда, в таком случаи в качестве текстуры можно использовать только растр.


...

Andromed 21.12.2005 14:30

8 флеш тут не причем, перспектива делается независщяим от версии флеша способом, я скинул как пример, если нужна еще и перспектива используй RFE и соединяй код полученный там и этот... :)

AlexMatveev 21.12.2005 14:53

Цитата:

Andromed
8 флеш тут не причем, перспектива делается независщяим от версии флеша способом, я скинул как пример, если нужна еще и перспектива используй RFE и соединяй код полученный там и этот...
К сожалению не получиться…
Потому что в твоем примере ты скайлишь текстуру с помощью “scale”
this._yscale = 100*Math.tan(sa);
this._rotation = (a1 + a2)*.5*180/Math.PI;
this.skew._xscale = ss*Math.sqrt(dx2*dx2 + dy2*dy2);
this.skew._yscale = ss*Math.sqrt(dx1*dx1 + dy1*dy1);

а это значить, что две противоположные грани могут быть только параллельны… при таком раскладе нельзя создать перспективу.

В твоем случаи можно создать текстуру вида:
...------
../......./
./......./
------
А в перспективе она должна иметь такой вид (с помощью scale такое не сделать):
...-----
../.......\
./.........\
.---------



...

Ion 21.12.2005 15:15

Цитата:

Сообщение от Andromed
8 флеш тут не причем, перспектива делается независщяим от версии флеша способом, я скинул как пример, если нужна еще и перспектива используй RFE и соединяй код полученный там и этот... :)

он разве делает перспективу? Не замечал. А ваще, для этого, по моему, рыбий глаз подойдет

Andromed 21.12.2005 16:34

делает конечно.. полученный код посомтри , должно быть,

***у меня под рукой его щас нету так посмотрел бы

Therion 21.12.2005 23:15

to Andromed

спосибо конечно за пример и исходник...

Но примерно такой скрипт у меня уже есть....
Но когда весь этот скрипт пытаешся понят, голова не выдерживает:)
Не можете просто подсказать метод, и с чего мне надо начать, с каких команд и функуий...

aQuestion 05.01.2006 19:45

оригинальный код был придуман латвийским парнем ещё в 2002м году, во времена 5-го флеша. он же нарисовал и лучший туториал на эту тему ( искать в гугле "shape.swf" site:lv )


Часовой пояс GMT +4, время: 08:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.