Показать сообщение отдельно
Старый 01.11.2004, 01:15
Skinner вне форума Посмотреть профиль Отправить личное сообщение для Skinner Посетить домашнюю страницу Skinner Найти все сообщения от Skinner
  № 1  
Skinner

Регистрация: 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();
}