Frame 1
function constraint(particle1, particle2, distance, num) {
dist_x = particle1._x - body_pos[num][0];
dist_y = particle1._y - body_pos[num][1];
actual_distance = Math.sqrt((dist_x * dist_x) + (dist_y * dist_y));
actual_angle = -Math.atan2(dist_x, dist_y);
error = actual_distance - distance;
if (error > 0) {
error = 0;
}
particle2._x = body_pos[num][0] - (error * Math.sin(actual_angle));
particle2._y = body_pos[num][1] + (error * Math.cos(actual_angle));
}
part_size = 193;
var body_pos = new Array(new Array(100, 55), new Array(150, 55), new Array(200, 55), new Array(250, 55), new Array(300, 55), new Array(350, 55), new Array(400, 55), new Array(450, 55), new Array(500, 55), new Array(100, 350), new Array(150, 350), new Array(200, 350), new Array(250, 350), new Array(300, 350), new Array(350, 350), new Array(400, 350), new Array(450, 350), new Array(500, 350));
_root.attachMovie("part", "part1", 1, {_x:10, _y:10});
i = 0;
while (i < 18) {
_root.attachMovie("body", "body" + (i + 1), 2 + i, {_x:body_pos[i][0], _y:body_pos[i][1]});
i++;
}
_root.onEnterFrame = function () {
part1._x = _root._xmouse;
part1._y = _root._ymouse;
i = 0;
while (i < 18) {
constraint(part1, eval ("body" + (i + 1)), part_size, i);
i++;
}
};