Показать сообщение отдельно
Старый 19.07.2011, 04:27
AlliAS вне форума Посмотреть профиль Отправить личное сообщение для AlliAS Найти все сообщения от AlliAS
  № 1  
Ответить с цитированием
AlliAS
 
Аватар для AlliAS

Регистрация: Aug 2007
Сообщений: 168
Question Как нарисовать ленту из кругов, с ровными границами?

Здравствуйте. Подскажите как программно (средствами класса Graphics) нарисовать ленту AB, как на рисунке:
[IMG]http://s006.***********/i215/1107/a5/ba42fcc99b7b.jpg[/IMG]
Особенно интересует алгоритм рисования бордеров по краям (которых нет на ленте CD, из за чего бросается в глаза сегментированность). Сейчас использую такой код для рисования ленты CD (объявления переменных опущены):
Код AS3:
import com.greensock.TweenMax;
 
var drawer:Sprite = new Sprite();
var bgColor:uint = 0xE7EFB6;
var bgAlpha:Number = 0.5;
var bgRadius:int = 15;
var borderSize:int = 1;
var borderColor:uint = 0;
var borderAlpha:Number = .1;
 
function draw():void {
    TweenMax.to(drawer, 1, { bezier:[{ x:0, y:0 },{ x:92, y:122 },{ x:250, y:165 }], onUpdate:drawLine});
}
 
function drawLine(e:Event = null):void {
    this.graphics.lineStyle(borderSize, borderColor, borderAlpha);
    this.graphics.beginFill(bgColor, bgAlpha);
    this.graphics.drawCircle(drawer.x, drawer.y, bgRadius);
    this.graphics.endFill();    
}
 
draw();
Что нужно добавить, чтобы получилась лента AB?