as3: нарисовать круг с отверстием в нем, используя только ActionScript - PullRequest
7 голосов
/ 02 сентября 2010

Хорошо, в общем, я хочу нарисовать круг в as3, в котором есть «дыра» (как пончик).Как-то так, но без контуров:

http://www.steel.ie/DugganSteel/Pictures/Hollow-circle.gif

Это не работает:

SPRITE.graphics.beginFill(0xFFFFFF);
SPRITE.graphics.drawCircle(0,0,10);
SPRITE.graphics.endFill();
SPRITE.graphics.drawCircle(0,0,5);

Я имею в виду, что это будет просто, ноЯ не могу найти информацию об этом.Я должен также упомянуть, что я пытаюсь нарисовать только 3/4 круга, как 3/4 пончика.Итак, я планировал нарисовать прозрачный круг и квадрат поверх исходного круга, я знаю, что это кажется странным, так как вы ожидаете, что что-то прозрачное покажет, что под ним.

Ответы [ 4 ]

10 голосов
/ 04 сентября 2010

Это на самом деле очень просто.См. Следующий код:

var p:Point = new Point(100, 100);
graphics.beginFill(0xFF0000);
graphics.drawCircle(p.x, p.y, 100);
graphics.drawCircle(p.x, p.y, 50);

Пересечения отменяют друг друга, пока вы не наберете endFill

Goodluck!

2 голосов
/ 02 сентября 2010

Вы можете просто сделать толщину линии желаемой шириной пончика и избегать использования beginFill установить graphics.lineStyle Чтобы сделать это только на 3/4 оборота, вы можете использовать кривую, чтобы нарисовать 3 четверти.

1 голос
/ 04 сентября 2010

Описанный выше метод Тайлера работает, однако, если проще сделать это, просто начать сначала рисовать внутренний круг. По сути, Flash фактически не заполняет цвет до тех пор, пока вы не вызовете endFill() (снова, как уже упоминал Тайлер), поэтому вы начинаете рисовать на внутреннем круге, затем на внешнем круге, затем на endFill() Вспышка заполняет пробел. *

SPRITE.graphics.beginFill(0xFFFFFF);
SPRITE.graphics.drawCircle(0,0,5);
SPRITE.graphics.drawCircle(0,0,10);
SPRITE.graphics.endFill();

Надеюсь, это все прояснит для вас.

0 голосов
/ 09 сентября 2010

Введение в API рисования Flash, поможет вам понять немного больше:

http://www.senocular.com/flash/tutorials/flash10drawingapi/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...