|
|
|||||
[+4 23.02.09]
|
jsfl - это внешний файл, который я юзать не могу, внешнего ничего не может быть (по ТЗ)
или я в чем-то ошибаюсь? |
|
|||||
[+4 23.02.09]
|
В общем проблема до сих пор открыта....
Есть в библиотеке - звезда, ромб, квадрат (не важно что там, но в спрайте простая фигура - некий полигон), нужно получить все вершины каждой фигуры, при этом я не заранее не знаю ее формы, т.е.если кидаешь из библиотеки какой-либо полигон, то он автоматически парсится (собираются все вершины по часовой стрелке), чтобы сделать прозрачный механизм разбора для любой фигуры Думал сделать svg - но внешние файлы исключены а импортить ее в библиотеку не получилось и на сколько я понял - невозможно jstf - тоже не подходит, так как он внешний файл (если я не ошибаюсь - поправьте ) Возможно ли такое сотворить? Может у кого есть алгоритмы? Поделитесь плиз |
|
|||||
>>Думал сделать svg - но внешние файлы исключены а импортить ее в библиотеку не получилось и на сколько я понял - невозможно
Если делать на flex, то очень сильно возможно внедрить svg в код и вообще что угодно. Однако во Flash да хоть в CS3 внедрить svg файл и того проще. Надо открыть его блокнотом виндоус, нажать на Выделить все, затем копировать. Потом во флеше в документ класс правка вставить. Попробовал свою теорию на предмет изображения звезды во флеше через svg package { import flash.display.Sprite; import flash.text.*; public class DocSimpleStar extends Sprite { //внедряем svg файл с изображением звезды private var svgXml:XML = <svg> <!-- Creator: CorelDRAW --> <defs> <style type="text/css"> <![CDATA[ str0 {stroke:#1F1A17;stroke-width:0.0762} fil0 {fill:none} ]]> </style> </defs> <g id="Слой_x0020_1"> <metadata id="CorelCorpID_0Corel-Layer"/> <polygon class="fil0 str0" points="90.205,18.035 96.9544,55.784 118.926,23.9653 109.286,61.1175 142.68,40.731 118.319,70.8624 157.362,65.433 122.49,83.3337 160.431,93.8001 121.079,96.3749 151.357,120.927 114.329,107.731 131.71,142.125 103.409,115.439 104.886,153.726 90.205,118.165 75.5238,153.726 77.0013,115.439 48.7,142.125 66.0806,107.731 29.0528,120.927 59.3312,96.3749 19.9793,93.8001 57.9202,83.3337 23.0485,65.433 62.0915,70.8624 37.7297,40.731 71.1239,61.1175 61.4843,23.9653 83.4556,55.784 "/> </g> </svg>; private var coordS:Array, xy:Array, str:String, i:int, len:int; public function DocSimpleStar() { coordS = []; xy = []; str = svgXml.g.polygon.@points; coordS = str.split(" "); len = coordS.length; trace(str); graphics.lineStyle(0); xy = coordS[0].split(","); graphics.moveTo(xy[0],xy[1]); for (i=0;i<len-1;i++) { xy = coordS[i].split(","); graphics.lineTo(xy[0],xy[1]); } } } } Последний раз редактировалось Alex Lexcuk; 23.02.2009 в 17:07. |
|
|||||
[+4 23.02.09]
|
Примерно таким путем и пошел, решил пока захардкодить нужные мне фигуры, а потом заембдить все используемые и по ID брать нужный набор вершин
|
Часовой пояс GMT +4, время: 02:47. |
|
« Предыдущая тема | Следующая тема » |
|
|