|
단진자 프로그램인데요 실행하면 단진자가 왓다갔다 하는건데 함수 와 그 안에 라인 각부분 모두 주석좀 달아 주실수있나요??
일부 달려 있는데 이해하기 턱없이 부족해서... 다음주까지 월요일까지 공부를 해야되는데..
간단하게 라도 달아주시면 고맙겠습니다..
아 참고로 플래시 액션이예요 -_-;;
근데 복잡해서 프로그램 잘하시는 분들 잘해석할수 있을 꺼라 생각해서 올렸어요..^^
dampingSlider.label.text = "mg";
function setStatic()
{
time = 0;
gtime = 0;
angle = 0;
ball.w = 0;
positionBall();
calcAllAndMove();
isRunning = false;
stop();///초기상태(스탑버튼릴리즈) 일때 스탑
pivot1._x = xc;
pivot1._y = yc;
} // End of the function
function positionLine(tag, x1, y1, x2, y2)
{
var lent = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
var dir = Math.atan2(y1 - y2, x1 - x2);
setProperty("line" + tag, _xscale, lent);
setProperty("line" + tag, _rotation, 180 * dir / 3.141593E+000);
setProperty("line" + tag, _x, (x1 + x2) / 2);
setProperty("line" + tag, _y, (y1 + y2) / 2);
} // End of the function
function positionBall()
{
ball._x = xc + len / dl * Math.sin(angle);
ball._y = yc + len / dl * Math.cos(angle);
} // End of the function
function calcAllAndMove()
{
damping = dampingSlider.level;
gravity = mass * g;
tension = gravity * Math.cos(angle);
registforce = -damping * len * ball.w;
force = registforce - gravity * Math.sin(angle);
if (ball.drag == 0)
{
ball.w = ball.w + force / len / mass * dt;
angle = angle + ball.w * dt;
} // end if
positionBall();
positionLine(1, xc, yc, ball._x, ball._y);
if (isDrawForce)
{
positionArrow(1, ball._x + sArrow * force * Math.cos(angle), ball._y - sArrow * force * Math.sin(angle), ball._x, ball._y);
positionArrow(2, ball._x - sArrow * tension * Math.sin(angle), ball._y - sArrow * tension * Math.cos(angle), ball._x, ball._y);
positionArrow(3, ball._x, ball._y + sArrow * gravity, ball._x, ball._y);
positionArrow(4, ball._x + sArrow * registforce * Math.cos(angle), ball._y - sArrow * registforce * Math.sin(angle), ball._x, ball._y);
} // end if
timevalue.value = "시간 = " + Math.floor(gtime * dt * 100) / 100 + " sec";
anglevalue.value = "각도 = " + Math.floor(angle * 180 / 3.141593E+000 * 10) / 10 + " 도";
lenvalue.value = "길이 = " + len/3 + " m";
} // End of the function
function eraseAllArrow()
{
for (i = 1; i <= 4; i++)
{
positionArrow(i, -200, -200, -200, -300, 100);
} // end of for
} // End of the function
damping = 0;
sArrow = 12;
mass = 0.5; //힘표시 길이
g = 9.800000E+000;
dt = 1.000000E-001;
dl = 1.000000E-002;
xc = 215;
yc = 15;
len = 3; // 줄길이
//isDrawForce = true;
isRunning = true;
duplicateMovieClip(_root.myBall, "ball", 2000);
duplicateMovieClip(_root.myLine, "line1", 100);
duplicateMovieClip(_root.pivot, "pivot1", 101);
/*markerIndex = 0;
for (i = 0; i < 30; i++)
{
duplicateMovieClip(_root.marker, "marker" + i, 1 + i);
} // end of for*/
setStatic();
ball.w = 2;
|