Показать сообщение отдельно
Старый 05.03.2010, 16:08
zakatnov вне форума Посмотреть профиль Отправить личное сообщение для zakatnov Найти все сообщения от zakatnov
  № 9  
Ответить с цитированием
zakatnov

Регистрация: Apr 2009
Сообщений: 43
вооот, я примерно так и делал, при жостком указании угла:
Код AS3:
layout_mc.rotation = Math.atan2(blablabla);
объект "прыгает" за мышью, алгоритм который мне приходит в голову - это фиксировать при первом заходе в обработчик onEnterFrame фиксировать угол мыши и стартовый rotation объекта, и потом при изменении из разницы прибавлять это изменение к rotation объекта, но у меня почему-то это не срабатывает.

Добавлено через 3 часа 31 минуту
ура, я сделал это вот функция которая делает то, что мне надо
Код AS3:
private var moving:Boolean = false;
private var startAngle:Number;
private function rotateObject():void
{
	if(moving)
	{
		var newAngle:Number = Math.atan2(this.mouseY - layout_mc.y, this.mouseX - layout_mc.x)*180/Math.PI;
		var diff:Number = newAngle - startAngle;
		layout_mc.rotation += diff;
		startAngle = newAngle;
	}
	else
	{
		startAngle = Math.atan2(this.mouseY - layout_mc.y, this.mouseX - layout_mc.x)*180/Math.PI;
		moving = true;
	}
}
Осталось решить проблему с "залипанием" левой кнопки мыши, при сходе мыши с объекта он продолжает вращаться даже при ненажатой кнопке, и перестает только тогда, когда я снова нажму на него.


Последний раз редактировалось zakatnov; 05.03.2010 в 19:41.