Показать сообщение отдельно
Старый 12.03.2009, 23:13
Acrossfy вне форума Посмотреть профиль Отправить личное сообщение для Acrossfy Найти все сообщения от Acrossfy
  № 4  
Ответить с цитированием
Acrossfy
 
Аватар для Acrossfy

Регистрация: Feb 2009
Сообщений: 180
На основе примера Монстра сделал нужное движение.
Код AS1/AS2:
var xdist:Number=2;
var radStep:Number=Math.PI/360;
var ydist:Number=8;
var speed:Number=1;
var angle:Number=0;
 
mc.onEnterFrame = function(){
	angle+=5;
	var rad=angle*radStep;
	mc._x=(Math.cos(rad)*xdist)/2;
	mc._y=(Math.sin(rad)*ydist)/2;
};
Столкнулся со следующей проблемой. Мувиклип движется относительно начала координат сцены. Мне нужно, поместить его на определенную точку. Допустим на (60, 60).
Решается это вот так:
Код AS1/AS2:
	mc._x=60 + (Math.cos(rad)*xdist)/2;
	mc._y=60 + (Math.sin(rad)*ydist)/2;
Однако это жутко портит всю малину, ведь с координатами "mc" работают и другие функции перемещающие объект по сцене.
И тогда, предварительно передвинув муви клип на точку (60, 60), я решаю проблему так:
Код AS1/AS2:
	mc._x=mc._x + (Math.cos(rad)*xdist)/60;
	mc._y=mc._y + (Math.sin(rad)*ydist)/60;
И вот после этого все работает, как надо, кроме самой функции. Объект в данном случае движется не по элипсу, а по элипсообразной спирали, медленно и плавно уходя за экран.
В чем может быть проблема? Как избавиться от этого побочного эффекта?
Один из нюансов. Когда вместо численных кординат, прописал "mc._x" и "mc._у", мувиклип крутился как бешенный, пока я не увеличил делитель в самой формуле. С 2 до 60.

P.S. Мувик обязательно должен быть на главной сцене. Конечно, если бы его можно было просто вложить в другой мувик, и тот уже двигать куда надо, проблем не было бы. Однако код моей флешки не позволяет делать этот клип вложенным.
Изображения
 


Последний раз редактировалось Acrossfy; 12.03.2009 в 23:18. Причина: поправил рисунок