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

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

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

Регистрация: Jun 2008
Сообщений: 41
Question Движение курсора по заданой траектории

Доброго времени суток, господа флешеры.
Есть задача, довольно тривиальная, но я пока не знаю, с какой стороны к ней подойти, поэтому и спрашиваю Вашего совета.

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

Если есть какие то готовые решения, библиотеки или туториалы по этому поводу, будьте столь добры, поделитесь, если же нету, то посоветуйте кейворды для поиска. Я буду очень благодарен.

Старый 31.03.2014, 12:54
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 2  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
я бы сделал 3 кривые, одну центральную рисовал для пользователя, вторую подня выше центральной на 20 px(допустим ), третью ниже на 20px, и смотрел чтобы курсор находился между верхней и нижней кривой. Кривые бы рисовал Безье

Старый 31.03.2014, 13:17
SirSerje вне форума Посмотреть профиль Отправить личное сообщение для SirSerje Найти все сообщения от SirSerje
  № 3  
Ответить с цитированием
SirSerje

Регистрация: Jun 2008
Сообщений: 41
Хорошо, а как быть в случае с петлей? Если пользователь не захочет ее огибать и возжелает сократить траэкторию, что тогда? Просто в данном случае, это самый беспокоящий меня вопрос.

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
SirSerje, "траектория".

Можно попробовать весь путь движения курсора представить в виде набора точек. При смещении курсора брать текущую точку и следующую и смотреть расстояния. Если расстояние от текущей точки до курсора меньше, чем расстояние от следующей до курсора, то принять за текущую точку следующую, а за следующую — третью. То есть "откидывать" точки, которые уже "прошли".

Если расстояние больше предела, — считать, что пользователь увел курсор.

Для случая с петлей должно нормально работать, как мне кажется. Главное — подобрать значения для расстояний между точками и для погрешности положения курсора.
__________________
hauts.ru

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

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
у кривых безье есть параметр t, пока t closest -a не станет больше 1 или меньше 0, не активировать следующую кривую, с точками тоже кстати хорошая идея, точки загнать в массив, и проверять ближайшую, и проверять разность индексов в массиве(предыдущей и текущей точки), если больше 1 , то gameover

Старый 31.03.2014, 14:59
SirSerje вне форума Посмотреть профиль Отправить личное сообщение для SirSerje Найти все сообщения от SirSerje
  № 6  
Ответить с цитированием
SirSerje

Регистрация: Jun 2008
Сообщений: 41
Спасибо большое.
2Hauts: в принципе, идея с точками у меня была и с точки зрения реализации, не должна быть весьма сложной.

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

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

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


 


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


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