Форум 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=131584)

GFreemen 23.10.2009 23:01

Как програмно нарисовать кривую штриховой линией?
 
День добрый.
Во флеше есть рисование только сплошных линий.
Сделал рисование прямых штриховых линий - задается начало, конец, длинна штриха и длинна промежутка. От начала рисуется один штрих, потом промежуток, потом второй штрих и т.д.
Вопрос: как програмно нарисовать кривую штриховой линией?

Alex Lexcuk 24.10.2009 00:20

Код AS3:

function bezier3(p0:int,p1:int,p2:int,t:Number):Number {
        return (1-t)*(1-t)*p0+2*t*(1-t)*p1+t*t*p2;
}
 
var p0:Point = new Point(0,0);
var p1:Point = new Point(950,200);
var p2:Point = new Point(0,400);
 
var pb:Point = new Point();
var pe:Point = new Point();
 
var i:Number;
var c:int;
graphics.lineStyle(0);
for (i=0; i<1; i+=0.001){
        pb.x = bezier3(p0.x,p1.x,p2.x,i);
        pb.y = bezier3(p0.y,p1.y,p2.y,i);
 
        i+=0.01;
        if (Point.distance(pb,pe)>15) {
                c++;
                if (c%2==0) {
                        graphics.moveTo(pb.x, pb.y);
                }else graphics.lineTo(pb.x, pb.y);
                pe = pb.clone();
        }
}


CEBEP 24.10.2009 11:14

можете на гуглекоде поискать DashLine

GFreemen 24.10.2009 18:59

Всем большое спасибо


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

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