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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.04.2008, 16:48
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 1  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Question Движение часовой стрелки за мышкой по кругу.

У меня есть код:
Код:
attachMovie("arrow", "arrow", _root.getNextHighestDepth());
arrow._x = 225;
arrow._y = 220;
arrow.onEnterFrame = function() {
	angle = 180/Math.PI*(_xmouse/_ymouse);
	arrow._rotation = angle;
	ugol = "Угол="+angle;
};
Градусы показывает точно, но стрелка немного дёргается (туда-сюда), когда движется мышка + ко всему ещё конец стрелки не совпадает с мышкой.
Помогите разобраться в чём проблема.

Старый 06.04.2008, 18:36
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Math.atan

Старый 06.04.2008, 19:50
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 3  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Вычисляю угол через актангенс, таже фигня...

angle = 180/Math.PI*Math.atan(_ymouse/_xmouse);

Старый 06.04.2008, 20:00
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 4  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
atan2
Код:
this.onEnterFrame = function () {
	radians = Math.atan2 (_xmouse - aaa._x, _ymouse - aaa._y);
	aaa._rotation = -radians * 180 / Math.PI;	
}
__________________
Платон мне друг, но истина в вине.

Старый 06.04.2008, 22:35
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 5  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Спасибо, всё работает.
Но можете пояснить:
1)Зачем делать именно так _xmouse - aaa._x и _ymouse - aaa._y
2)И почему используется именно арктангенс, ведь есть другие тригонометрические ф-ции

Старый 07.04.2008, 09:59
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
1) Учите геометрию, на бумажке нарисуйте, в конце концов. Координаты мыши вы берете относительно всей сцены, а не центра стрелки, поэтому и не работает;
2) Потому что проще всего получить угол именно с помощью него.

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

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

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


 


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


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