|
|
|||||
Регистрация: May 2000
Сообщений: 49
|
Прерывистая линия
И снова здраствуйте,
занялся рисованием графиков во Flash MX и никак не могу понять как мне нарисовать прерывистую линию. Конечно можно отрезками рисовать линию. Но как-то муторно. :-((( А есть ли ещё какие-либо варианты? С уважением старина Альф |
|
|||||
Регистрация: May 2000
Сообщений: 49
|
Спасибо конечно Пушистик, но это не спасёт отца русской демократии. Надо рисовать программно :-(((
А lineStyle такого совйсива не имеет. :-((( |
|
|||||
Регистрация: Feb 2001
Сообщений: 1,893
|
Знаешь в чем твоя проблема?
- Ты не можешь нарисовать круг или квадрат программно - ведь таких методов нет во флеше |
|
|||||
Регистрация: May 2000
Сообщений: 49
|
Насчёт круга верно, а квадрат нарисовать можно, даже треугольник
_root.createEmptyMovieClip( "triangle", 1 ); with ( _root.triangle ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo( 100, 300 ); lineTo( 200, 200 ); } Круг можно тоже нарисовать, если извернуться. Со штрих линией можно тоже извернуться, но может есть что-то из недокументированных возможностей, или я не умею читать. :-((( |
|
|||||
Регистрация: Feb 2001
Сообщений: 1,893
|
Да на счет круга ты прав, некоторые изворачивались
createEmptyMovieClip("circle", 1); circle.lineStyle(255,0) circle.moveTo(200,200) circle.lineTo(200.5,200) Последний раз редактировалось llllllllll; 19.08.2003 в 18:22. |
|
|||||
Регистрация: May 2000
Сообщений: 49
|
Ну мне тоже пришлось немного извернуться.
Теперь она у меня идёт штрихом. 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); } |
|
|||||
"человек"
Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
|
непомню где и как я его скачал вобщем вот тебе исходник
__________________
flash it |
|
|||||
Регистрация: May 2000
Сообщений: 49
|
Спасибо, конечно, но уже поздно. :-)))
Логика там почти такая же. В любом случае во Flash MX, можно сделать всё, ну или почти всё. :-))) 2 года назад я строил графики в 5. Вот это было полное извращение. Спасибо всем кто откликнулся. С уважением старина Альф |
|
|||||
Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
|
О господи. Некоторые даже не могут программно правильный круг нарисовать. Что происходит? Применяем функцию рисовани кривой через три точки. Генерируем круг точек и рисуем кривые. И всё. О боже...
Только функция специальная нужна, которая рисует кривую именно через точку, а не как в flash curveTo. У меня даже исходник есть. Называется SUN. С программными кругами и градиентами и ещё всякой дрянью. Как всегда можно взять у меня на сайте.
__________________
flash/flex/unity |
Часовой пояс GMT +4, время: 01:43. |
|
« Предыдущая тема | Следующая тема » |
|
|