![]() |
|
||||||||||
|
|||||
|
[+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, время: 19:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|