|
|
|||||
[+1 08.12.11]
Регистрация: Nov 2011
Адрес: www.leningradspb.ru
Сообщений: 10
|
Zoom out, zoom in, tween
Доброе утро, вечер, день.
Есть замечательная весчь под названием tween. Возможности позволяют решить очень много проблем с движением объектов. Но есть одна задача которую я не могу решить. У нас есть карта, в карте имеется балун (шарик). При загрузке карты она центруется по шарику. Есть две кнопки "zoom +" и "zoom -". соответсвенно увеличивающие и уменьшающие масштаб на +-150. Проблема в то что при изменение _xscale и y_scale для tween . Масштаб меняется от центра объекта "карта". И помимо масштаба фокус с шарика уезжает в разные стороны (в зависимости от расстояния до центра карты). Задача зум ин, зум аут, относительно шарика. примерное решение я вижу - в свойства tween'a можно как-то прописывать формулу изменения движения. Возможно там можно пропистаь необходимое условие, но это просто догадка. С радостью послушаю Ваши мысли по данному вопросу. С уважением Артём |
|
|||||
Модрон-ветеринар
|
Нужно также менять координаты _x и _y шарика по мере изменения _xscale и _yscale - для корректировки.
Теми же твинами, например. Дельты вычислять в зависимости от масштабирования.
__________________
Идите первым! |
|
|||||
[+1 08.12.11]
Регистрация: Nov 2011
Адрес: www.leningradspb.ru
Сообщений: 10
|
Этим я занимался весь сегодняшний день. Но пока каких-то видимых результатов достигнуто не было.К сожалению не могу сообразить какую формулу прикрутить для для изменения _x & _y наверно это из-за непонимания некоторых важных моментов в работе tween'a
|
|
|||||
Ну вот поживому надергал
var path = this var CLK:Object // ZOOM PISITION var CLK2:Object // ZOOM PISITION 2 function changePOS(){ CLK2 = { x:MAP._xmouse, y:MAP._ymouse } MAP._x += (CLK2.x - CLK.x)*MAP._xscale/100 MAP._y += (CLK2.y - CLK.y)*MAP._xscale/100 } function zoom_func() { calc = zoom_procent TweenLite.to( MAP, 0.5, { _xscale:calc, _yscale:calc, onUpdate:changePOS }) } any_clip.onMouseMove = function(){ CLK = { x:path.MAP._xmouse, y:path.MAP._ymouse } } any_clip.onMouseWheel = function(varDelta:Number, mc) { path.zoom_func() } Ну и медленно зумим, параллельно передвигая карту куда надо в changePOS() MAP - масштабируемый клип Вместо координат мыши - используйте координаты шарика. Ту, где он стоял, и ту, куда он смещается. Ну собссно как это должно выглядеть - тут http://galaxywars.ru/FM.html Последний раз редактировалось dark256; 08.12.2011 в 05:09. |
|
|||||
[+1 08.12.11]
Регистрация: Nov 2011
Адрес: www.leningradspb.ru
Сообщений: 10
|
Таааа, когда руки кривые это диагноз.
Не получилось запустить скрипт дарка. Похоже мне надо курить мануалы в плане общей концепции построения кода. И что есть что. Где-то тут был топик про зуминг карты относительно курсора. Я его чуток перкопатил и теперь у меня в одно действие соответственно увеличивается и уменьшается масштаб относительно шарика, при увеличение запускается ещё функция центровки. Вывод: из-за своей криворукости, я лишаюсь красоты. Ну ничего, разберусь и прикручу) Dark, если не трудно выложи исходник твоего кода. |
|
|||||
Да ну это не спортивно.
Идея - дана. Выложить свой код - ну точно также не поймешь и будет тебе черный ящик. Свой код выложи тогда уж. Глянем. Ну и к тому же я плохо и ненативно пишу - изначально испорчу стиль руку и глазомер |
|
|||||
[+1 08.12.11]
Регистрация: Nov 2011
Адрес: www.leningradspb.ru
Сообщений: 10
|
Я не настаиваю)
ибо пока у меня всё должно РАБОТАТЬ, а дальше настрою как надо. Свой *****код?)))) не, пока рано. Когда закончу хотел бы продолжить тему в плане оптимизации кода, ибо даже я вижу что ооооочень многое можно сделать по-иному, да и лишний раз что бы ресурсов не жрала. вот в этом я надеюсь вы мне плотненько поможете. а пока просто буду советоваться) Добавлено через 3 минуты да и тем более когда с кодом и оптимизацией закончим, хотелось бы обобщить весь материал который проработал и сделать такой некий универсальный скриптик, который бы помог многим интересующимся, да и Вам, наверно уже поднадоело одно и тоже печатать каждый раз) |
Часовой пояс GMT +4, время: 14:43. |
|
« Предыдущая тема | Следующая тема » |
Теги |
tween , zoom , зум , масштаб , масштабирование |
|
|