Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Глюк в MX lineTo() curveTo () (http://www.flasher.ru/forum/showthread.php?t=30425)

ader 18.04.2002 03:46

Глюк в MX lineTo() curveTo ()
 
Вложений: 1
Для того чтобы понять в чём дело для начала советую зайти по этой ссылке: http://www.uba.com.ua/up/pr.html


Попробуйте изменить переменную U ;))))

Красиво правда ;)

Теперь следует код который используется в этой флешке:

a = 150;
c = 0;
d = 80;
u = 40;
s = 8;
b = a-d;
a2 = a;
b2 = a+d*2;

_root.createEmptyMovieClip("graph", 1);
with (_root.graph) {
colors = [0x660000, 0xAA0000];
alphas = [60, 0];
ratios = [0, 0xFF];
matrix = {matrixType:"box", x:0, y:0, w:c, h:a, r:(90/180)*Math.PI};
beginGradientFill("linear", colors, alphas, ratios, matrix);
lineStyle(1, 0x000000, 100);
moveTo(c, a);
for (i=0; i<s; i=i+2) {
lineTo(c+u*i+u, b);
lineTo(c+u*i+u*2, a);
}
endFill();

colors = [0x660000, 0xAA0000];
alphas = [60, 0];
ratios = [0, 0xFF];
matrix = {matrixType:"box", x:0, y:0, w:c, h:a, r:(90/180)*Math.PI};
beginGradientFill("linear", colors, alphas, ratios, matrix);
lineStyle(1, 0x000000, 100);
moveTo(c, a);
for (i=0; i<s; i=i+2) {
curveTo(c+u*i+u, b2, c+u*i+u*2, a2);
}
endFill();
}


И так.. во первых ни о каких заливках при использовании for и речи не может идти. В этом мы можем убидится посмотрев тот примерер.
Обидно. :(

Допускаю что я что-то не так сделал.. Допустим.. :D
Но почему же когда я изменяю кординаты Y всё вроде ок. Но когда я берусь за X`овые, например измените U кординату на том мувике (сверху input меню) всё нах... едит?! :mad: Чего оно глючит так? Может мне кто-то обьяснить? ;)

Я вложил исходник, так что если нужно для решение этой задачи - можете воспользоватся 8)

ader 18.04.2002 03:56

ошибочька.. када изменяеш начальную Y координату (переменная "a") картинка становится ещё красивее :D

Aib 18.04.2002 13:23

И что? Что тТы его попросил нарисовать, то он Тебе и выдал. В чём ошибка-то? При вызове endFill() замыкается линия, и заливка генерируется по принципу "граничной смены", начиная от первой точки линии.

Nox Noctis 18.04.2002 16:23

ты не хочешь объяснить присутствующим - а что должно было собственно получиться ?
чего ты добиваешься-то ? ;) ;)

ader 18.04.2002 17:01

Сори если плохо об`яснил. :D
Ну во первых там када я заменил

lineTo (c+50, b);
lineTo (c+100, a);
lineTo (c+150, b);
lineTo (c+200, a);

и так далее до 400, на выражение "for" то заливка куда-то улитучилась ;(...

А во вторых, если изменять переменные в самой флешке, тобиш тобиш внутри, и потом компилировать, то всё ок. Но када изменяеш переменные через "input" из swf то получается фигня какая-то. Почему то глючат все переменные кроме D, и U... Вот этих полосочек на экране не должно было быть.. По крайней мере я так нехотел ;). Я хотел чтобы можно было изменять размер ширину количество холмиков, и высоту всей диаграмки. А в место этого оно мне арнаменты рисует ;)).

НУ количество холмиков допустим работает, и высоту изменить тоже можно.. но почему все остальные глючат. Причём только если я через input делаю.
(если в самой флешке по умолчанию менять всё ок.)
:(

2 Aib а по подробнее не мог бы?. И что мне надо сделать чтобы это исправить.

УильямБрэдберри 18.04.2002 17:29

а патамушта ты две заливки делаешь в один мувик.
а эт нехорошо.
флэш - повиснет после такого третьего мувика
1 мувик - 1 заливка (1 begin\end-fill)

ader 18.04.2002 18:48

Да? Вау.. тада я придумал классный способ зафлудить флеш =)))))))

Сиба.. а я то думал... ;)

ader 18.04.2002 18:55

Ты имел в виду так?



code:

a = 150;
c = 0;
d = 80;
u = 40;
s = 8;

b = a-d;
a2 = a;
b2 = a+d*2;

_root.createEmptyMovieClip("graph", 1);
with (_root.graph) {
colors = [0x660000, 0xAA0000];
alphas = [60, 0];
ratios = [0, 0xFF];
matrix = {matrixType:"box", x:0, y:0, w:c, h:a, r:(90/180)*Math.PI};
beginGradientFill("linear", colors, alphas, ratios, matrix);
lineStyle(1, 0x000000, 100);

moveTo(c, a);

for (i=0; i<s; i=i+2) {
lineTo(c+u*i+u, b);
lineTo(c+u*i+u*2, a);
}

endFill();
}

_root.createEmptyMovieClip("graph2", 2);
with (_root.graph2) {
colors = [0x660000, 0xAA0000];
alphas = [60, 0];
ratios = [0, 0xFF];
matrix = {matrixType:"box", x:0, y:0, w:c, h:a, r:(90/180)*Math.PI};
beginGradientFill("linear", colors, alphas, ratios, matrix);
lineStyle(1, 0x000000, 100);

moveTo(c, a);

for (i=0; i<s; i=i+2) {
curveTo(c+u*i+u, b2, c+u*i+u*2, a2);
}

endFill();
}


Не помогло ;(.. Всё равно глючит, и всё-равно градиента нету ;((((((


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

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