Показать сообщение отдельно
Старый 14.03.2012, 23:38
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 7  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
Код AS3:
private function updateRotation(e:Event):void
		{
			// РАСЧЕТ ВРАЩЕНИЯ ПУШКИ
			dx = player.x - stage.mouseX;
			dy = player.y - stage.mouseY;
 
			// В КАКУЮ СТОРОНУ ПОВОРАЧИВАТЬ
			var rotateTo:Number = getDegrees(getRadians(dx, dy));	
 
			// ПОВОРАЧИВАТЬ ОТ 0 ДО 360 ГРАД
			if (rotateTo > player.gun.rotation + 180) rotateTo -= 360;
			if (rotateTo < player.gun.rotation - 180) rotateTo += 360;
 
			// ЛЕГКОСТЬ ВРАЩЕНИЯ
			trueRotation = (rotateTo - player.gun.rotation) /rotateSpeedMax;
 
 
			player.gun.rotation += trueRotation;			
		}	
		public function getRadians(delta_x:Number, delta_y:Number):Number
		{
			var r:Number = Math.atan2(delta_y, delta_x);
 
			if (delta_y < 0)
			{
				r += (2 * Math.PI);
			}
			return r;
		}
 
		public function getDegrees(radians:Number):Number
		{
			return Math.floor(radians/(Math.PI/180));
		}
вот функции отвечающие за поворот пушки player.gun - сама пушка
__________________
Не стыдно спросить, стыдно не знать !