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

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

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

Регистрация: Nov 2005
Сообщений: 1,155
По умолчанию Нахождение координат мыши

Задача не тривиальная. Мне необходимо найти координаты мыши при её движении. Можно сделать это по событию MOUSE_MOVE, можно по таймеру (задав достаточно малый delay). Но все это натыкается на ту проблему, что плеер отслеживает перемещение курсора достаточно "грубо" при его быстром передвижении ( к примеру, соседние значения координат точек могут быть такими: x0=100, y0=100; x1=110, y1=105) , то есть расстояние между замеренными точками может быть несколько десятков пикселей. Уменьшить дискретность не возможно ни увеличением FPS клипа, ни уменьшением delay - то есть проблема лежит в самом плеере. Насколько я понимаю, единственный способ найти промежуточные значения между контрольными точками - аппроксимация. Самый простой случай - линейная аппроксимация, но при таком подходе соединение всех точек отрезками даст достаточно "ломанную" траекторию, правдоподобным будет применение нелинейной аппрокимации, соединение даст вполне гладкую кривую. Применять для этого кривые Безье? Я не уверен , что это даст правдоподобный результат. Если кто знает, подскажите математический инструмент нахождения промежуточных точек движения курсора. Если конечно он существует

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

Регистрация: Aug 2007
Сообщений: 467
Такое движение миши это проблема не плеера, а Windows! И, вообще то, это не проблема!
Найдите пару рисовалок на флеше и посмотрите как это там реализовано...

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

Регистрация: Nov 2005
Сообщений: 1,155
Каких рисовалок? Где по EnterFrame или по MouseMove идет вызов graphics.lineTo(mouseX, mouseY)? Там эти ломанные видны во всей красе. Или у Вас есть на примете какая то рисовалка с более точной реализацией прорисовки? Поделитесь


Последний раз редактировалось flash33; 27.04.2008 в 00:03.
Старый 27.04.2008, 00:06
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 4  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Корел дро.

Старый 27.04.2008, 00:50
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 5  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Код:
someObj.addListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);

private function mouseMoveListener(event : MouseEvent) : void {
    ...
    event.updateAfterEvent();
}

Старый 27.04.2008, 01:02
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 6  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от Mr. Fixit Посмотреть сообщение
Код:
someObj.addListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);

private function mouseMoveListener(event : MouseEvent) : void {
    ...
    event.updateAfterEvent();
}
Mr. Fixit, а что за addListener? Ну это опечатка, понятно..
а вообще интересно, вы читаете предыдущие посты?
__________________
freelance | Раздор

Старый 27.04.2008, 01:37
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
меняйте дрова у мышки. если у вас пс/2 то можно выставить 200 герц, и обновление мышки на экране будет гораздо чаще. а что качается резких рывков, то система работает с вашей мышкой, на сколько я помню, по умолчанию 100 герц. тоесть замеры движения то дискретные. и иначе быть не может.

что касается аппроксимации, то возьмите учебник по алгоритмизации за 2 семестр, любого вуза.

Старый 27.04.2008, 13:10
flash33 вне форума Посмотреть профиль Отправить личное сообщение для flash33 Найти все сообщения от flash33
  № 8  
Ответить с цитированием
flash33
 
Аватар для flash33

Регистрация: Nov 2005
Сообщений: 1,155
BlooDHounD, Вы наиболее правильно поняли мою проблему, спасибо. Я конечно могу менять драйвер, но не могу заставить других. Поэтому вычисление промежуточных значений самый подходящий мне вариант. Но, к сожалению, учебника по алгоритмизации у меня нет, и даже если найду, хотелось бы знать куда копать. Опять же гугл мне бы помог, если б я смог правильно сформулировать свой вопрос.. (хотя бы на языке Шекспира)

Старый 27.04.2008, 13:35
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 9  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
http://www.google.ru/search?q=аппроксимация

Старый 27.04.2008, 14:59
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 10  
Ответить с цитированием
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
все просто, надо использовать curveTo... между двумя соседними точками. могу выложить готовую рисовалку.

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

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

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


 


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


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