Я пытаюсь построить круг, используя линии. Каждая линия начинается в центре круга и равна его радиусу. Используя цикл вместе с волнами синуса и косинуса, я могу построить круг, используя синус и косинус, чтобы отметить координаты параметра lineTo
.
Моя проблема связана с параметром толщины линии lineStyle
. Я бы хотел, чтобы концы линий идеально совпадали, независимо от того, насколько велика окружность круга, но я не могу найти правильный метод для толщины линии.
//this is what makes sense to me, but it still creates some gaps
lineThickness = 1 + (((nRadius * 2) * Math.PI) - 360) / 359;
for(var i:int = 0; i < 360; i++)
{
// Convert the degree to radians.
nRadians = i * (Math.PI / 180);
// Calculate the coordinate in which the line should be drawn to.
nX = nRadius * Math.cos(nRadians);
nY = nRadius * Math.sin(nRadians);
// Create and drawn the line.
graphics.lineStyle(lineThickness, 0, 1, false, LineScaleMode.NORMAL, CapsStyle.NONE);
graphics.moveTo(0, 0);
graphics.lineTo(nX, nY);
}
Чтобы концы линий встречались на окружности окружности, без каких-либо промежутков, мне нужно расширить линии, чтобы заполнить оставшееся пространство. Что имеет смысл для меня, но не работает, так это вычесть 360 из окружности, а затем разделить это число на количество пустых слотов между строками (а это 359) и прибавить это число к толщине 1.
Что меня беспокоит, так это то, что параметр толщины lineStyle
равен Number
, но, похоже, принимает значения только от 0 до 255, поэтому я не уверен, является ли число с плавающей точкой, например 1.354, допустимой толщиной. 1012 *