Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как сделать реку, дорогу и тд? (http://www.flasher.ru/forum/showthread.php?t=114504)

Tfp 31.07.2008 00:09

Как сделать реку, дорогу и тд?
 
http://imageknight.com/images/1217444771.jpg

програмно, так же как на скриншоте(можно обойтисб дорогой вместо реки)

ramshteks 31.07.2008 00:41

в голову приходит нарисовать линиями контур и залить битмапой

wvxvw 31.07.2008 01:16

Кажется iv что-то похожее делал... на сколько я помню, принцип примерно такой:
разбиваем кривую, вдоль которой нужно скейлить заливку на фрагменты равные ширине паттерна заливки и используя DispacementFilter изменяем экземпляр паттерна.
Но чтобы с этим не мучаться, для игры я бы просто разбил карту на возможные повторяющиеся элементы, т.е. кусок "река справа налево", "река сверху вниз" и т.п. и из них конструировал уже общую "карту".

Tfp 31.07.2008 21:09

wvxvw, но ведь их тоже нада сделаь както! в иде помойму искажать таким способом битмапу нельзя), только програмно(для дороги юзаеться текстура)
ramshteks, если залить битмапу то заливка будет просто обрезана по контуру но никак не искажуна

wvxvw 31.07.2008 21:49

ну а где вы в ИДЕ видели возможность применить DisplacementMapFilter?

Tfp 01.08.2008 05:06

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

Rzer 01.08.2008 05:31

Плохо ищешь. Реки и дороги твои ручками быстрее написать.

VovkaMorkovka 01.08.2008 13:08

В редакторе расставляем точки точки соединяем сплайном, сплайн расширяем до требуемой величины - выходит дешево и сердито.

Tfp 01.08.2008 21:57

ммм, а что такое сплайн ?)

VovkaMorkovka 02.08.2008 01:09

Гугл рулит порато сильно

Если серьезно, то это все совсем - совсем просто. Полистай книжку по численным методам

Tfp 02.08.2008 21:12

А как сплайн затекстурить?

VovkaMorkovka 03.08.2008 05:22

Как - нибудь так: на битмапе с шагом 1 пиксель рисуешь окружность центр которой скользит по сплайну, потом нарисованную битмапу кладешь на битмапу с текстурой в качестве фильтра.

Tfp 03.08.2008 06:26

ето же просто должно обрезать битмапу на которую налажывают фильтр, но никак не исказить(трасформировать) в соответствии с нарисованой битмапой.

VovkaMorkovka 03.08.2008 19:13

Цитата:

Сообщение от Tfp (Сообщение 756025)
ето же просто должно обрезать битмапу на которую налажывают фильтр, но никак не исказить(трасформировать) в соответствии с нарисованой битмапой.

Исказить текстуру в общем случае не выйдет: преобразование от кривой к прямой не конгруентно, хотя и однозначно если кривая не пересекает саму себя.

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

Tfp 03.08.2008 20:30

дорогу я думаю нада клепать из треугольников, вопрос в том как правильно в них раставить координаты текстур

VovkaMorkovka 04.08.2008 01:33

Не надо из треугольников: нарисуй длинную толстую линию требуемым цветом поверх нее рисуй куски текстуры, ось куска ориентируй по касательной к линии в данной точке.
(Если забыл, то тангенс угла наклона к кривой в данной точке есть первая производная, а ты чо думал, математика, она нужна не только, чтоб в вузе студиозов занять :))

Felicast 04.08.2008 08:12

Цитата:

Сообщение от VovkaMorkovka (Сообщение 756107)
Не надо из треугольников: нарисуй длинную толстую линию требуемым цветом поверх нее рисуй куски текстуры, ось куска ориентируй по касательной к линии в данной точке.

куски как раз и лучше делать триугольниками


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

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