Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как нарисовать ленту из кругов, с ровными границами? (http://www.flasher.ru/forum/showthread.php?t=160918)

AlliAS 19.07.2011 04:27

Как нарисовать ленту из кругов, с ровными границами?
 
Здравствуйте. Подскажите как программно (средствами класса 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?

goodguy 19.07.2011 07:20

Я бы под кругами просто нарисовал толстую линию, шириной чуть больше диаметра круга

AlliAS 19.07.2011 15:04

Спасибо. Способ действительно хороший


Часовой пояс GMT +4, время: 00:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.