vedi se ti può servire
codice:
function createpie() {
items = _root.matrcausali.length;
createEmptyMovieClip("torta", 19990);
with (torta) {
fattore = 360 / _root.totale;
lastvalue = 0;
lineStyle(1, 0x000000, 100);
moveTo(0, 0);
availSpaceY = _root.horizline._y;
availSpaceX = Stage.width - _root.mainline._x;
if (availSpaceX > availSpaceY) {
availSpace = availSpaceY;
} else {
availSpace = availSpaceX;
}
raggio = availSpace / 2 * 0.9;
for (i = 0; i < items; i++) {
colore = _root.matrcolori[i];
beginFill(colore, 100);
for (j = lastvalue - 1; j < lastvalue + _root.matrvalori[i]; j += 2) {
angle = j * fattore;
angle_deg = angle / 180 * Math.PI;
x = raggio * Math.cos(angle_deg);
y = raggio * Math.sin(angle_deg);
lineTo(x, y);
lineStyle(2, 0x000000, 0);
}
lastvalue += _root.matrvalori[i];
lineTo(0, 0);
endFill();
}
_x = Stage.width - availSpaceX / 2;
_y = availSpaceY / 2;
}
}
non è con lo spicchio duplicato, ma con le drawing API
la parte in fondo di availSpace puoi anche segarla, a me serviva perchè si doveva riscalare dinamicamente
ovviamente _root.matrcausali è una matrice che devi creare prima
cyao