Flash Dots Move

  • Автор темы lamez
  • Дата начала
L

lamez

Гость
#1
ВРАЩЕНИЕ
Ну создал я мувик p1(это вершинка квадратика). Так вот, дублирую в квадратик еще три. Потом строю прямые линии между точками, потом вращение-извращение пошло. Так вот, вроде по логике все правильно, НО. Помогите плиз!
------------------------------------
dist = 100;
duplicateMovieClip(_root.p1, "p2", 5);
p2._x += dist;
duplicateMovieClip(p2, "p3", 4);
p3._y += dist;
duplicateMovieClip(p3, "p4", 3);
p4._x -= dist;
yc = 300;
angle = 0;
xc = 300;
//defined
////////////////////////////////////////
detecto(p1);
detecto(p2);
detecto(p3);
detecto(p4);
function detecto(movie) {
movie.oldx = movie._x;
movie.oldy = movie._y;
movie.dx = movie._x-_root.xc;
movie.dy = movie._y-_root.yc;
movie.hypo = Math.sqrt(movie.dx*movie.dx+movie.dy*movie.dy);//гипотенуза есть радиус
movie.cangle = Math.asin(movie.dy/movie.hypo)*180/Math.PI; //из радианов в градусы находим текущий угол поворота радиуса
//trace(movie.cangle);
}
onEnterFrame=main;
function main() {
_root.angle += 0.1;
rotate(_root.p1);
rotate(_root.p2);
rotate(_root.p3);
rotate(_root.p4);
drawlns();
}
function rotate(movie) {
//_root.angle += 0.1;
movie._x = movie.hypo*Math.cos(movie.cangle+_root.angle)+movie.oldx;//наверно тут косяк
movie._y = movie.hypo*Math.sin(movie.cangle+_root.angle)+movie.oldy;//возможно тут тоже)))
}
//дальше можно не смотреть))
function drawlns() {
createEmptyMovieClip("tempo", 10);
with (tempo) {
lineStyle(0, 0xff00ff, 10);
beginFill(0x0f0e0a, 50);
moveTo(p1._x, p1._y);
lineTo(p2._x, p2._y);
lineTo(p3._x, p3._y);
lineTo(p4._x, p4._y);
lineTo(p1._x, p1._y);
endFill;
}
}
ПОлучается, абракадабра.
Помогайте, НАРОД!
 
L

lamez

Гость
#2
Забыл сказать, что xc и yc - это координаты вокруг которых вращаем.