![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
|
сабж.
+ может можно как-то создать свой паттерн для лайнов? |
|
|||||
|
Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
|
Видимо это сильно-дурацкий вопрос =)
Но как бы то ни было, у _root. в выпадающем списке касательно лайнов есть только lineStyle, moveTo, lineTo. У лайнстайла причём паттерн указать нельзя.. Как же быть? ![]() |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
|
|
|||||
|
Вот такой вариант (mc.dashTo() - by Ric Ewing (ric@formequalsfunction.com) - version 1.2 - 5.3.2002)
MovieClip.prototype.dashTo = function(startx, starty, endx, endy, len, gap) {
//
// startx, starty = beginning of dashed line
// endx, endy = end of dashed line
// len = length of dash
// gap = length of gap between dashes
//
// if too few arguments, bail
if (arguments.length < 6) {
return false;
}
// init vars
var seglength, deltax, deltay, segs, cx, cy;
// calculate the legnth of a segment
seglength = len + gap;
// calculate the length of the dashed line
deltax = endx - startx;
deltay = endy - starty;
delta = Math.sqrt((deltax * deltax) + (deltay * deltay));
// calculate the number of segments needed
segs = Math.floor(Math.abs(delta / seglength));
// get the angle of the line in radians
radians = Math.atan2(deltay,deltax);
// start the line here
cx = startx;
cy = starty;
// add these to cx, cy to get next seg start
deltax = Math.cos(radians)*seglength;
deltay = Math.sin(radians)*seglength;
// loop through each seg
for (var n = 0; n < segs; n++) {
this.moveTo(cx,cy);
this.lineTo(cx+Math.cos(radians)*len,cy+Math.sin(radians)*len);
cx += deltax;
cy += deltay;
}
// handle last segment as it is likely to be partial
this.moveTo(cx,cy);
delta = Math.sqrt((endx-cx)*(endx-cx)+(endy-cy)*(endy-cy));
if(delta>len){
// segment ends in the gap, so draw a full dash
this.lineTo(cx+Math.cos(radians)*len,cy+Math.sin(radians)*len);
} else if(delta>0) {
// segment is shorter than dash so only draw what is needed
this.lineTo(cx+Math.cos(radians)*delta,cy+Math.sin(radians)*delta);
}
// move the pen to the end position
this.moveTo(endx,endy);
};
__________________
www.maxshaman.com Последний раз редактировалось iNils; 27.04.2007 в 16:04. |
|
|||||
|
Цитата:
а ты ни где не видел мануал по этим классам? просто лично я плохо представляю для чего они нужны и как ими пользоваться... хотя бы исходник и сих использованием ![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
![]() |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
загляни в конец класса.
все мануалы и примеры там. |
|
|||||
|
продолжу старую тему:
www.dembicki.org - явно не то, что должно быть а предложеный класс от Ric Ewing - только для прямых линий Может есть другие варианты? Или можно подвязать сюда Stroke? Кто нибудь знает? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Цитата:
Вот правильные: http://sharedfonts.com/dembicki_org/...larSelector.as http://sharedfonts.com/dembicki_org/FreeSelector.as |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:05. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|