![]() |
Перетаскивание объекта и кидание что-ли
Вложений: 1
Всем привет!) Помогите, пожалуйста, кодом или исходником)
что есть: Есть круг. Круг постоянно движется с права налево. Мы можем схватить его и перетащить в любую точку сцены. При этом его движение справа налево прекращается. Как только отпускаем круг, движение возобновляется то что нужно: Нужно сделать так, чтоб если бы, например, мы брали и тащили круг в каком-нибудь направлении, а потом отпускали его, то он продолжал бы движение самостоятельно в том же направлении, но постепенно замедлялся. И когда остановился бы, то продолжал двигаться как и прежде - справа налево. Я тут нарисовал схемку, может на картинке понятнее будет) http://s60.***********/i170/1001/50/de6ebd77ddf3.jpg [IMG]http://s60.***********/i170/1001/50/de6ebd77ddf3.jpg[/IMG] исходник того, что есть Вложение 23576 |
Направление движения мыши вы можете получить по дельте координат между предыдущем её положением и текущим. Скорость можно взять равной длине вектора направления мыши и уменьшать её постепенно.
|
А что значит дельта координат? Направление по двум точкам? первая - в момент когда взяли круг, а вторая - когда отпустили? А если я делаю несколько движений? например, беру круг в точке 1, тащу его сначала в точку 2 и не отпуская тащу в точку 3, то мне нужно направление 2-3, а не 1-3.
|
Дельта - это изменение, т.е. разность конечного и начального значений. Первое значение присваивается по событию нажатия мыши, а второе по событию отпускания. При этом не важно, где была мышь во время движения.
|
Тогда эта дельта не подходит. а можно отслеживать положение круга раз в секунду, например? Если да, то как?)
|
Да хоть onEnterFrame.
|
Вложений: 1
Цитата:
|
mr_pol, но это самый тупой вариант:confused:
|
KiL33, это не то. Похожее есть и у меня в исходнике
|
KiL33, в данном случае вы вообще неизвестно что сделали.
|
Незнаю, правильно ли я понял задачу. Вот что у меня получилось!
Код AS1/AS2:
Замедление не стал делать. |
Цитата:
|
Цитата:
|
Желание помочь превысило разбора задачи:mosking:
|
NoCD, спасибо! если перетаскивать объект по прямой, то все хорошо работает. Если по окружности, работает очень странно
|
Вложений: 1
Написано тупо, но принцип изложил. Только надо функцию движения слева направо сделать и запускать ее, когда заканчивается замедление. Ну, и останавливать по нажатию мыши.
|
bigbit, спасибо! работает как надо!)
Добавлено через 51 секунду только onMouseUp удалять нужно |
Цитата:
А, ну да. Точно. |
| Часовой пояс GMT +4, время: 14:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.