Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.05.2009, 10:52
quazare вне форума Посмотреть профиль Отправить личное сообщение для quazare Найти все сообщения от quazare
  № 1  
Ответить с цитированием
quazare
 
Аватар для quazare

Регистрация: Jul 2004
Сообщений: 430
По умолчанию Динамическое вращение вокруг оси

Народ привет, подскажите где почитать про то, как сделать динамическое вращение вокруг оси мувика. (т.е. мувик крутишь вокруг определенной точки) имеется ввиду драгом.... Если можно примерчик...
Спасибо!

Старый 02.05.2009, 12:34
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вот делал управление ручкой-шаттлом, может быть поможет вам, хотя реализвано и не "драгом".
Используется математическая функция арктангенса, потом переводим ее значения из радианов в градусы.
Перед этим по условиям разбираем возможные значения внутренних координат мыши, чтобы всё корректно работало.
Несколько кривовато, как я теперь думаю, но работает.
Сам пример прилагается.

Код AS1/AS2:
//-----работа с ШАТТЛОМ--------------------------------------
 
//внутренние координаты мыши в мувике шаттла
var rulxm:Number;
var rulxm:Number;
//угол поворота руля шаттла
var a:Number; 
 
//организация вращения руля шаттла
shMC.rulMC.butMC.onPress = function() {
 
var mouseListenerRul:Object = new Object();
 
mouseListenerRul.onMouseMove = function() {
 
	rulxm = shMC._xmouse;
	rulym = shMC._ymouse;
 
	if (rulym > 0 && rulxm > 0) {
		a = 90 + (Math.atan(rulym/rulxm))*57.3; //приведение к градусам
		shMC.rulMC._rotation = a;
		}
	else if (rulym > 0 && rulxm < 0) {
		a = 270 + (Math.atan(rulym/rulxm))*57.3;
		shMC.rulMC._rotation = a;
		}
	else if (rulym < 0 && rulxm < 0) {
		a = 270 + (Math.atan(rulym/rulxm))*57.3;
		shMC.rulMC._rotation = a;
		}
	else if (rulym < 0 && rulxm > 0) {
		a = 90 + (Math.atan(rulym/rulxm))*57.3;
		shMC.rulMC._rotation = a;
		}	
	else if (rulym < 0 && rulxm == 0) {
		shMC.rulMC._rotation = 0;
		}		
	else if (rulym > 0 && rulxm == 0) {
		shMC.rulMC._rotation = 180;
		}			
	else if (rulym == 0 && rulxm < 0) {
		shMC.rulMC._rotation = 270;
		}
	else if (rulym == 0 && rulxm > 0) {
		shMC.rulMC._rotation = 90;
		}
 
};// end onMouseMove
 
Mouse.addListener(mouseListenerRul);
 
mouseListenerRul.onMouseUp = function() {	
Mouse.removeListener(mouseListenerRul);
}; //end onMouseUp
 
}; //end onPress
Вложения
Тип файла: rar Shuttle.rar (8.9 Кб, 93 просмотров)


Последний раз редактировалось mooncar; 02.05.2009 в 12:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 09:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.