![]() |
движение по направлению мыши
Помогите, пожулуйста, реализовать следущее:
кликаем мышкой в любом месте рабочего поля, и мувик движется в направлении курсора и пролетает дальше с одинаковой скоростью. я знаю простой способ как обьект привязать к мышке чтобы он летел к курсору и цеплялся к нему: Код AS3:
Заранее благодарю. |
Похоже, нужно решить уравнение прямой, найти точку на прямой, котой принадлежит точка курсора.
Что то типа x + by + c = 0 Прямую можно провести через две точки , которые мы знаем: точка курсора центр мувика. нужно найти точку, удалённую от этих двух точек. |
не совсем понял. Мне нужно в момент клика определить точку клипа и точку клика и как то установить прямую и задать движение?
хорошо, если я узнаю эти точки, то как все же реализовать движение? :) |
наверно так же как и здесь у тебя:
Код AS3:
|
Код AS3:
|
Это вопрос не по АС а по математике. Находим по двум точкам вектор, находим dx и dy в одну единицу времени для движения равномерного по этому вектору а дальше по таймеру делаем движение хоть до бесконечности.
Точки знаем (мувик и мышка), вектор найти можем. Никаких проблем |
точно, дельту вычислить. Забыл как называется :) Вот только код кто-то напишет? ;)
|
Код:
speed = 5 |
точно. Раз мувик летит в направлении мышки, то пусть и дальше продолжает лететь.
|
Вложений: 1
Вот, держите:
Код AS3:
|
всем спасибо!
п.с.Я просто с математикой не дружу ))) |
Не нужно изобретать велосипед, для таких целей и сделали easing functions:
http://livedocs.adobe.com/flex/2/doc...=00000747.html Вот пример: http://www.madeinflex.com/img/entrie...gexplorer.html |
Цитата:
|
iNils,
Уже оффтопик, но... Похоже, наши взгляды на программирование слегка отличаются. Я привык думать о том, что я получаю денежное вознаграждение за потраченное мною на разработку/тестирование время. Для кастомеров важен конечный результат, соблюдение графика и качество. Поэтому для случаев, подобных приведенному в этом топике, я предпочитаю по возможности реюзать хорошо работающий код, нежели писать свой, чтобы потом сосредоточиться на более комплексных и интересных мне фичах. Я не хочу тратить дополнительные N часов на уже решенную проблему, т.к. предпочитаю вложить их в саморазвитие. P.S.: Автору рано или поздно понадобилось бы усовершенствовать поведение и математическую модель, поэтому использование easing является более долгоиграющим решением. P.P.S.: Не стоит забывать, что оптимизировать нужно только там, где это действительно необходимо. И не думаю, что в adobe написали хуже, чем предложенные здесь варианты. |
Это все подходит для профессиональных программистов. А по автору же видно, что опыта у него мало, поэтому изобретение велосипедов для него хорошие занятие для развития навыков.
|
| Часовой пояс GMT +4, время: 12:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.