2012-07-03 2 views
0

Я немного новичок в Actionscript 3. Я создаю экспорт/импорт svg во флеше и должен сделать просмотр таким же, как svg. Во вспышке, если путь перекрывается, он удаляется. Как мне заполнить всю область?Actionscript 3 - Перекрытие пути

Пути созданы с этим:

object.graphics.moveTo(xpos[i], ypos[i]); 
object.graphics.lineTo(px, py); 

В результате enter image description here

ответ

3

Это вызвано графическим путем намотки.

graphics-path-winding

Defining winding rules
flash.diplay.GraphicsPathWinding

В Flash обмоткой правило по умолчанию, даже странно.

Для графики, полученные с использованием drawPath, добавьте GraphicsPathWinding.NON_ZERO обмотки к вашему drawPath:

import flash.display.GraphicsPathWinding; 

graphics.drawPath(new <int>[], new <Number>[], GraphicsPathWinding.NON_ZERO); 

Для графики нарисованы используя удобные методы, такие как lineTo(), drawCircle() или drawRect(), вы можете beginFill() и endFill() в форме нарисованы, как в :

enter image description here

var g:Graphics = graphics; 

g.beginFill(0x123456) 
g.drawRect(100, 100, 50, 50); 
g.endFill(); 

g.beginFill(0x123456) 
g.drawRect(125, 125, 50, 50); 
g.endFill(); 

Вместо:

even-odd

var g:Graphics = graphics; 

g.beginFill(0x123456) 
g.drawRect(100, 100, 50, 50); 
g.drawRect(125, 125, 50, 50); 
g.endFill(); 
+1

Вы Вейрдест, но наиболее интересная коллекция знания, которые я знаю. – Marty

+0

Возвращаясь к этому: beginFill, endFill для lineto не работает. Перепадание в вопросе является результатом одного непрерывного «lineto». (Ссылка на рисунок выше.) Я работаю над преобразованием lineto в drawPath. – teynon

Смежные вопросы