![]() |
Прерывистая линия
И снова здраствуйте,
занялся рисованием графиков во Flash MX и никак не могу понять как мне нарисовать прерывистую линию. Конечно можно отрезками рисовать линию. Но как-то муторно. :-((( А есть ли ещё какие-либо варианты? С уважением старина Альф |
:)
Вложений: 1
ну если не программно то там есть тип линии!щелкаешь по ней и выбираешь!
|
Спасибо конечно Пушистик, но это не спасёт отца русской демократии. Надо рисовать программно :-(((
А lineStyle такого совйсива не имеет. :-((( |
Знаешь в чем твоя проблема? :)
- Ты не можешь нарисовать круг или квадрат программно :) - ведь таких методов нет во флеше :) |
Насчёт круга верно, а квадрат нарисовать можно, даже треугольник
_root.createEmptyMovieClip( "triangle", 1 ); with ( _root.triangle ) { lineStyle( 5, 0xff00ff, 100 ); moveTo( 200, 200 ); lineTo( 300,300 ); lineTo( 100, 300 ); lineTo( 200, 200 ); } Круг можно тоже нарисовать, если извернуться. Со штрих линией можно тоже извернуться, но может есть что-то из недокументированных возможностей, или я не умею читать. :-((( |
Да на счет круга ты прав, некоторые изворачивались :)
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); } |
Вложений: 1
непомню где и как я его скачал :) вобщем вот тебе исходник :)
|
Спасибо, конечно, но уже поздно. :-)))
Логика там почти такая же. В любом случае во Flash MX, можно сделать всё, ну или почти всё. :-))) 2 года назад я строил графики в 5. Вот это было полное извращение. Спасибо всем кто откликнулся. С уважением старина Альф |
О господи. Некоторые даже не могут программно правильный круг нарисовать. Что происходит? Применяем функцию рисовани кривой через три точки. Генерируем круг точек и рисуем кривые. И всё. О боже...
Только функция специальная нужна, которая рисует кривую именно через точку, а не как в flash curveTo. У меня даже исходник есть. Называется SUN. С программными кругами и градиентами и ещё всякой дрянью. Как всегда можно взять у меня на сайте. |
| Часовой пояс GMT +4, время: 05:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.