![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2010
Сообщений: 19
|
Задача следующая: надо растянуть картинку вдоль кривой с повторениями (пример - железная дорога).
Не подскажете готовых решений (или может это как-то поддерживается на уровне базового API ? ) для такой вот проблемы ? |
|
|||||
|
как вариант:
вдоль Path-а Дембицкого лепим фрагментики этой ж.д. package { import flash.display.*; import flash.events.*; import flash.geom.*; import silin.geom.*;//http://silin.su/AS3/silin.zip public class Main extends Sprite { [Embed(source = 'templ.jpg')] private var _templClass : Class;//сегментик полотна public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; var path:Path = new Path([new Point(10, 10), new Point(100, 50),new Point( 200, 300), new Point(250,350), new Point(300,150)]); var len:Number = path.length; for (var i:int = 0; i < len; i+=5) //5 - ширина сегментика { var segm:Bitmap = Bitmap(new _templClass()); var p:PathPoint = path.getPathPoint(i); segm.x = p.x; segm.y = p.y; segm.rotation = p.rotation; addChild(segm); } } } } |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 205
|
Тада в контексте рельс -- согласен, но допустим если это труба из сегментов или шнур с рифленной поверхрностью.
|
|
|||||
|
тогда придется еще и искажать каждый фрагмент в зависости от радиуса кривизны
например смотреть как пересекаются соседние и ужимать/растягивать чтобы это пересечение( или недотягивание) минимизировать Добавлено через 3 минуты у Graphics есть еще lineBitmapStyle, может быть оно сработает но не пробовал даже как и что это |
|
|||||
|
>>но картинка не совсем аккуратная выходит..
а она 'по-жизни' не хочет(не может) быть аккуратной в таком варианте, см. например обсуждалово http://flasher.ru/forum/showthread.php?t=143470 , там на примере 3D, но сути не меняет по моим наблюдениям может выйти толк из такого варианта: из твоей изогнутой колбасы сгенерить набор треугольников с соответствующими UV координатами и заливать разом все с помощью drawTriangles - тогда не щелей ни пробелов нет.. но как эти исходные данные готовить не берусь сказать - не вижу ради чего, сори |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Ээ, да нормально всё должно быть, если текстурированными треугольниками, самая морока - расставить точки.
Красивая задачка, но пожалуй чуть больше, чем не лень бесплатно делать.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| кисть из картинки , шаблон на кривой |
|
|