|
|
|||||
Регистрация: May 2000
Адрес: Уфа
Сообщений: 102
|
Во блин! beginFill
От скуки писал тут прикол www.deepworld.us/ploskost.swf
вобщем рисую lineTo четырехугольник, а затем рисую на нем клеточки. Вначале ставлю beginFill с альфа 30%. Все работает, если клеточек не рисовать, а с клеточками, когда четырехугольник искажается так, что видно сквозь него его-же, в этих местах вместо наложения пропадает закраска вовсе. var x = new Array(); var y = new Array(); var xs = new Array(); var ys = new Array(); var xz = new Array(); var yz = new Array(); for (i=1;i<5;i++){ x[i]=200;y[i]=200; xs[i]=random(5)+1; ys[i]=random(5)+1; if (random(6)>2) xz[i]=1; else xz[i]=-1; if (random(6)>2) yz[i]=1; else yz[i]=-1; } _root.onEnterFrame = function() { for (i=1;i<5;i++){ x[i]+=xs[i]*xz[i]; y[i]+=ys[i]*yz[i]; if (x[i]>400){xs[i]=random(5)+1;xz[i]=-xz[i];x[i]=400;} if (x[i]<0){xs[i]=random(5)+1;xz[i]=-xz[i];x[i]=0;} if (y[i]>400){ys[i]=random(5)+1;yz[i]=-yz[i];y[i]=400;} if (y[i]<0){ys[i]=random(5)+1;yz[i]=-yz[i];y[i]=0;} } _root.clear(); LineStyle(1,0,50); beginFill(0x0000AA, 30); moveTo(x[1],y[1]); lineTo(x[2],y[2]); lineTo(x[3],y[3]); lineTo(x[4],y[4]); lineTo(x[1],y[1]); for (i=1;i<10;i++){ moveTo(x[1]+(x[2]-x[1])/10*i,y[1]+(y[2]-y[1])/10*i); lineTo(x[4]+(x[3]-x[4])/10*i,y[4]+(y[3]-y[4])/10*i); moveTo(x[2]+(x[3]-x[2])/10*i,y[2]+(y[3]-y[2])/10*i); lineTo(x[1]+(x[4]-x[1])/10*i,y[1]+(y[4]-y[1])/10*i); } endFill(); } |
|
|||||
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
нужно beginFill и endFill в каждом проходе цикла прописать.
|
|
|||||
Прикольная плоскость... простейшиий скрипт, по сути...
|
|
|||||
Регистрация: May 2000
Адрес: Уфа
Сообщений: 102
|
Пробовал прописать - не помогает. Кажется я додумался в чем причина. beginFill закрашивате только области, образованные линиями концы которых соединяются, а не области, образованные пересечениями линий.
|
Часовой пояс GMT +4, время: 08:33. |
|
« Предыдущая тема | Следующая тема » |
|
|