|
|
|||||
Регистрация: May 2010
Сообщений: 11
|
Мышь толкает объект
Здравстуйте! Подскажите пожалуйста как раелизовать такую задачу: на сцене есть объект мувиклип, при наведении на него мыши он должен перемещаться так, как будто мышь толкнула его. При этом он должен ударятся о границы сцены и отскакивать от них...Движение происходит с постепенным затуханием.
Прочитала про использование Tween и Easing, но не понимаю как задать модель движения... |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Используйте какой-нибудь физический движок.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Да не, он тут излишен.
Общая схема: смотрите, где находится мышка до соприкосновения с объектом, отсюда находите скорость его по 2 осям. Эту скорость по обеим осям уномжайте постоянно на число, меньшее 1 - будет затухание. Ну, а при пересечении границы по одной из оси меняйте эту скорость на противоположную.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: May 2010
Сообщений: 11
|
У меня не очень хорошо со школьной физикой)) как выразить скорость объекта по осям?
|
|
|||||
а я бы вот так сделал: каждое передвижение мыши запоминал в переменную, при столкновении с курсором и объектом высчитывал скорость импульса и запускал enterFrame у объекта. Вот как-то так:
private function onMouseMove(e:MouseEvent):void { if (clip.hitTestPoint(stage.mouseX, stage.mouseY)) { clip.speed = stage.mouseX - oldX; clip.onPush(); // энтерФрейм у объекта } oldX = stage.mouseX; } Вложение - то, что получилось в итоге. Думаю, сделать и для оси Y не будет проблемным.
__________________
тут я Последний раз редактировалось КорДум; 16.05.2010 в 15:07. |
|
|||||
Регистрация: May 2010
Сообщений: 11
|
а в чем состоит метод clip.onPush(); ?
|
|
|||||
Регистрация: May 2010
Сообщений: 11
|
Ясно...спасибо огромное!!!
|
Часовой пояс GMT +4, время: 02:22. |
|
« Предыдущая тема | Следующая тема » |
Теги |
Easing , tween , перемещаться |
|
|