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

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

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

Регистрация: Apr 2009
Сообщений: 43
По умолчанию Поворот двумерного объекта мышью

В общем создавал уже тему о том как поворачивать объект относительно его центра мышью, мне дали пару советов, которые я объединил и создал нечто:

Код AS3:
private var moving:Boolean = false;
private var deltaAngle:Number; //стартовая разница между углом поворота объекта и мышью
 
private function rotateObject():void
{
	if(moving) // того чтобы при первом клике объект сразу не прыгал на угол под которым висит мышь
	{
		var newDelta:Number = Math.atan2(this.mouseY - layout_mc.y, this.mouseX - layout_mc.x) - layout_mc.rotation; //разница между углом поворота объекта и мышью
		if(deltaAngle < newDelta)
		{
			layout_mc.rotation += Math.abs(newDelta - deltaAngle);
		}
		else
		{
			if(deltaAngle > newDelta)
			{
				layout_mc.rotation -= Math.abs(newDelta - deltaAngle);
			}
		}
	}
	else
	{
		deltaAngle = Math.atan2(this.mouseY - layout_mc.y, this.mouseX - layout_mc.x) - layout_mc.rotation;
		moving = true;
	}
}
это "как-то" работает, но не совсем так как я ожидал, все крутится, но с артефактами и очень медленно, не успевает за мышью.

и второй, второстепенный вопрос, как отключить залипание мыши, например я нажал на объект, увел с него мышь, отжал, но объект думает что мышь все еще нажата, как это пофиксить?

вот пример с кодом который я привел:
http://zakatnov.ru/trash/circle.rar

Создать новую тему   Часовой пояс GMT +4, время: 05:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
поворот объекта

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

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


 


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


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