Регистрация: Oct 2010
Сообщений: 1
|
Помогите мне пожалуйста! у меня есть код 3Dкуба, но мне надо присобачить на его грани текстовые поля Dynamic text и задать в них переменные от a1 до a6 и вывести в них просчитанные значения(код для этого пока в другом файле)! прилагаю исходник:
function makePoints() {
points = new Array();
points[0] = {x: 30, y: 30, z: 30};
points[1] = {x: -30, y: 30, z: 30};
points[2] = {x: -30, y: -30, z: 30};
points[3] = {x: 30, y: -30, z: 30};
points[4] = {x: 30, y: -30, z: -30};
points[5] = {x: 30, y: 30, z: -30};
points[6] = {x: -30, y: 30, z: -30};
points[7] = {x: -30, y: -30, z: -30};
for(i=0;i<points.length;i++) {
attachMovie( "point", "point"+i, i )
}
}
function makeLines() {
lines = new Array();
lines[0] = {p1: 0, p2: 1};
lines[1] = {p1: 1, p2: 2};
lines[2] = {p1: 2, p2: 3};
lines[3] = {p1: 3, p2: 0};
lines[4] = {p1: 4, p2: 5};
lines[5] = {p1: 5, p2: 6};
lines[6] = {p1: 6, p2: 7};
lines[7] = {p1: 7, p2: 4};
lines[8] = {p1: 0, p2: 5};
lines[9] = {p1: 1, p2: 6};
lines[10] = {p1: 2, p2: 7};
lines[11] = {p1: 3, p2: 4};
for(i=0;i<lines.length;i++) {
attachMovie( "line", "line"+i, 50+i )
}
}
function plotPoint(object) {
x = object.x;
y = object.y
z = object.z;
radius = Math.sqrt (x*x+y*y);
if (x == 0) angle = Math.atan(1000000);
else angle = Math.atan(y/x);
if (x < 0) angle += Math.PI;
angle += rotation;
realx = radius*Math.cos(angle);
realz = radius*Math.sin(angle);
realy = z;
radius = Math.sqrt(realy*realy+realz*realz);
if (realz == 0) angle = Math.atan(1000000);
else angle = Math.atan(realy/realz);
if (realz < 0) angle += Math.PI;
angle += plane;
screenx = realx;
screeny = radius*Math.sin(angle);
screenz = radius*Math.cos(angle);
screenx += 275;
screeny += 200;
return({x:screenx,y:screeny,z:screenz});
}
function drawPoints() {
for(i=0;i<points.length;i++) {
loc = plotPoint(points[i]);
this["point"+i]._x = loc.x;
this["point"+i]._y = loc.y;
this["point"+i]._alpha = loc.z+100;
}
}
function drawLines() {
for(i=0;i<lines.length;i++) {
loc1 = plotPoint(points[lines[i].p1]);
loc2 = plotPoint(points[lines[i].p2]);
this["line"+i]._x = loc1.x;
this["line"+i]._y = loc1.y;
this["line"+i]._xscale = loc2.x-loc1.x;
this["line"+i]._yscale = loc2.y-loc1.y;
this["line"+i]._alpha = loc1.z+100;
}
}
function reposition() {
rotation += (275-_xmouse)/1000;
plane = -(200-_ymouse)/100;
drawPoints();
drawLines();
}
rotation = 0;
makePoints();
makeLines();
stop();
И вот, для просчёта значений:
a1=1;
a2=2;
a3=3;
a4=4;
a5=5;
a6=6;
for(i=0;i<10;i++){
b1=" ";
b2=" ";
b3=" ";
b4=" ";
b5=" ";
b6=" ";
//b
b1=(a5+a4+a2+a6)/4;
b2=(a1+a3+a5+a6)/4;
b3=(a5+a4+a2+a6)/4;
b4=(a5+a1+a3+a6)/4;
b5=(a1+a4+a3+a2)/4;
b6=(a1+a2+a3+a4)/4;
a1=" ";
a2=" ";
a3=" ";
a4=" ";
a5=" ";
a6=" ";
//a
a1=(b5+b4+b2+b6)/4;
a2=(b1+b3+b5+b6)/4;
a3=(b5+b4+b2+b6)/4;
a4=(b5+b1+b3+b6)/4;
a5=(b1+b4+b3+b2)/4;
a6=(b1+b2+b3+b4)/4;
}
|