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

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

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

Регистрация: Dec 2008
Сообщений: 2
По умолчанию неправильно работает _rotation

Добрый день, помогите решить проблему.
Есть кнопка в форме кольца, при нажатии на кольцо его можно вращать мышкой. После отпускания кнопки мыши - вращение прекращается.
Прблема: при следующем нажатии на кнопку, вращение начинается не с того же места, на котором остановилось в прошлий раз, а совершенно с другого...
код который выполняет вращение:

Код AS1/AS2:
function doit():Void{	
	var x = _xmouse-bt._x;
	var y = _ymouse-bt._y;	
	var angle = Math.atan2 (y, x)/Math.PI*180;
	bt._rotation = angle+90;
	updateAfterEvent ();
	}
 
bt.onPress = function():Void{
	onEnterFrame = doit;
};
bt.onRelease = function():Void{
	delete onEnterFrame;	
};
заранее спасибо за помощь!
Вложения
Тип файла: rar rotate.rar (34.8 Кб, 124 просмотров)

Старый 27.12.2008, 00:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS1/AS2:
function doit():Void{
	var x = _xmouse-bt._x;
	var y = _ymouse-bt._y;
	var angle = 90 + Math.atan2(y, x)/Math.PI*180;
	bt._rotation += (angle - bt.ang);
	bt.ang = angle
	updateAfterEvent ();
}
bt.onPress = function():Void{
	var x = _xmouse-this._x;
	var y = _ymouse-this._y;
	this.ang = 90+Math.atan2(y, x)/Math.PI*180;
	onMouseMove = doit;
};
bt.onRelease = bt.onReleaseOutside = function():Void{
	delete onMouseMove;
};
__________________
Reality.getBounds(this);

Старый 27.12.2008, 09:56
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
kuznetsov, название раздела вам ни о чем не говорит? Перемещаемся.


Последний раз редактировалось alexcon314; 27.12.2008 в 15:20.
Старый 27.12.2008, 22:18
kuznetsov вне форума Посмотреть профиль Отправить личное сообщение для kuznetsov Найти все сообщения от kuznetsov
  № 4  
Ответить с цитированием
kuznetsov

Регистрация: Dec 2008
Сообщений: 2
Wolsh - Огромное спасибо за помощь! всё отлично работает!

alexcon314 - прошу прощения, недоглядел название темы, буду внимательней.

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

Теги
вращение
Опции темы
Опции просмотра

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

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


 


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


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