Просмотр полной версии : Прерывистая линия
И снова здраствуйте,
занялся рисованием графиков во Flash MX и никак не могу понять как мне нарисовать прерывистую линию. Конечно можно отрезками рисовать линию. Но как-то муторно. :-(((
А есть ли ещё какие-либо варианты?
С уважением старина Альф
Пушистик
19.08.2003, 16:24
ну если не программно то там есть тип линии!щелкаешь по ней и выбираешь!
Спасибо конечно Пушистик, но это не спасёт отца русской демократии. Надо рисовать программно :-(((
А lineStyle такого совйсива не имеет. :-(((
llllllllll
19.08.2003, 17:47
Знаешь в чем твоя проблема? :)
- Ты не можешь нарисовать круг или квадрат программно :) - ведь таких методов нет во флеше :)
Насчёт круга верно, а квадрат нарисовать можно, даже треугольник
_root.createEmptyMovieClip( "triangle", 1 );
with ( _root.triangle )
{
lineStyle( 5, 0xff00ff, 100 );
moveTo( 200, 200 );
lineTo( 300,300 );
lineTo( 100, 300 );
lineTo( 200, 200 );
}
Круг можно тоже нарисовать, если извернуться.
Со штрих линией можно тоже извернуться, но может есть что-то из недокументированных возможностей, или я не умею читать. :-(((
llllllllll
19.08.2003, 18:21
Да на счет круга ты прав, некоторые изворачивались :)
createEmptyMovieClip("circle", 1);
circle.lineStyle(255,0)
circle.moveTo(200,200)
circle.lineTo(200.5,200)
Ну мне тоже пришлось немного извернуться.
Теперь она у меня идёт штрихом.
lange=10; // длина штриха
space=5; // расстояние между штрихами
x1<x2 всегда.
MCGraphClass.prototype.lineGeschtrichte = function (x1, y1, x2, y2){
var nextX, nextY;
var lange=10;
var space=5;
var curX=x1;
var curY=-y1;
var alfa=-Math.atan((y2-y1)/(x2-x1));
nextX=x2;
nextY=y2;
var deltaX=Math.cos(alfa)*lange;
var deltaY=Math.sin(alfa)*lange;
var deltaXspace=Math.cos(alfa)*space;
var deltaYspace=Math.sin(alfa)*space;
while(curX+deltaX<x2){
nextX=curX + deltaX;
nextY=curY + deltaY;
this.moveTo (curX, -curY);
this.lineTo (nextX, -nextY);
curX=nextX+deltaXspace;
curY=nextY+deltaYspace;
}
this.moveTo (curX, -curY);
this.lineTo (x2, y2);
}
Techmaker
19.08.2003, 19:41
непомню где и как я его скачал :) вобщем вот тебе исходник :)
Спасибо, конечно, но уже поздно. :-)))
Логика там почти такая же.
В любом случае во Flash MX, можно сделать всё, ну или почти всё. :-)))
2 года назад я строил графики в 5. Вот это было полное извращение.
Спасибо всем кто откликнулся.
С уважением старина Альф
О господи. Некоторые даже не могут программно правильный круг нарисовать. Что происходит? Применяем функцию рисовани кривой через три точки. Генерируем круг точек и рисуем кривые. И всё. О боже...
Только функция специальная нужна, которая рисует кривую именно через точку, а не как в flash curveTo. У меня даже исходник есть. Называется SUN. С программными кругами и градиентами и ещё всякой дрянью. Как всегда можно взять у меня на сайте.
Пушистик
20.09.2003, 18:14
nuran, мож хватит удивлятся какие все тупые и один ты умный?
2 Пушистик.
Кто бы говорил. Сам на всех наезжаешь...
Ладно это так...
разговор окончен.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.