Это вызвано графическим путем намотки.
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()
в форме нарисованы, как в :
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();
Вместо:
var g:Graphics = graphics;
g.beginFill(0x123456)
g.drawRect(100, 100, 50, 50);
g.drawRect(125, 125, 50, 50);
g.endFill();
Вы Вейрдест, но наиболее интересная коллекция знания, которые я знаю. – Marty
Возвращаясь к этому: beginFill, endFill для lineto не работает. Перепадание в вопросе является результатом одного непрерывного «lineto». (Ссылка на рисунок выше.) Я работаю над преобразованием lineto в drawPath. – teynon