|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
|
Я же тебе указал твои ошибки. Вот код который работает.
var points = [];
points[0] = [[0, 0, 0], [0, 100, 0], [100, 100, 0], [100, 0, 0]];
points[1] = [[0, 0, 0], [0, 0, -100], [0, 100, -100], [0, 100, 0]];
points[2] = [[0, 0, 0], [0, 0, -100], [100, 0, -100], [100, 0, 0]];
points[3] = [[100, 0, 0], [100, 0, -100], [100, 100, -100], [100, 100, 0]];
points[4] = [[0, 100, 0], [0, 100, -100], [100, 100, -100], [100, 100, 0]];
points[5] = [[0, 0, -100], [100, 0, -100], [100, 100, -100], [0, 100, -100]];
var o = {};
o.draw = function (clip, points, lineSt) {
if (lineSt.rgb == undefined) {
lineSt.rgb = 0;
}
if (lineSt.alpha == undefined) {
lineSt.alpha = 100;
}
clip.lineStyle (lineSt.thickness, lineSt.rgb, lineSt.alpha);
var points_length = points.length;
var kof = 2 * Math.SQRT2;
for (var i = 0; i < points_length; i++) {
per_kof_0 = 1000 / (1000 + points[i][0][2]);
clip.moveTo ((points[i][0][0] + points[i][0][2] / kof) * per_kof_0, (points[i][0][1] - points[i][0][2] / kof) * per_kof_0);
for (var j = 1; j < points[i].length; j++) {
per_kof = 1000 / (1000 + points[i][j][2]);
clip.lineTo ((points[i][j][0] + points[i][j][2] / kof) * per_kof, (points[i][j][1] - points[i][j][2] / kof) * per_kof);
}
clip.lineTo (points[i][0][0] + points[i][0][2] / kof, points[i][0][1] - points[i][0][2] / kof);
}
};
this.createEmptyMovieClip ("clip", 0);
o.draw (clip, points, {thickness:3, rgb:0xFF00000, alpha:100});
|