![]() |
|
Модераторы: SoWa |
![]()
|
|
| var |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 23.10.2009 Репутация: нет Всего: нет |
как реализовать в flash-клипе увеличчение изображения относительно выбранной точки?
Например эфект приближения относительно лица персонажа спасибо |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 6 Всего: 315 |
т.е. увеличение всего изображения с сохранением центра на выбранной точке?
это чистая математика ширину и высоту можно менять за счёт movieclip._xscale, movieclip._yscale, там вроде процентами задаётся поймать во время клика координаты курсора _xmouse, _ymouse а дальше всего лишь расчитывать и подгонять |
|||
|
||||
| var |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 23.10.2009 Репутация: нет Всего: нет |
да увеличение всего изображения с сохранением центра на выбранной точке.
это получаетс покадровая анимация? а нельзя как нить в конечном кадре выбрать центр и процент увеличения, затем движение от первого кадра и оно его увеличит? |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 6 Всего: 315 |
да нет. не обязательно. можно таймаутом отсчитывать шаги в пределах одного кадра. а если нельзя прерывать ход выполнения ролика, то да. тогда лучше повесить счётчик на _root.onEnterFrame
я вообще, считаю, что такой способ наиболее оптимален. есть два метода решения задачи: 1. вешать математическую формулу на функцию и пусть она каждый раз отсчитывает новые координаты клипа. 2. трассировка. в момент клика произвести все расчёты, создать массив с координатами и далее по ходу выполнения просто подставлять эти координаты придерживаюсь второго сама задача, как уже говорил - чисто математическая. вот у нас есть клип, у него есть параметры _x, _y, _width, _height. положение относительно хоста и размеры. мы кликаем по некой точке клипа, координаты считываем с _xmouse, _ymouse. определив координаты, мы вычисляем в процентном отношении на каком расстоянии от левого верхнего угла находятся эти координаты. допустим, при ширине клипа 100 пикселов, клик произошёл на расстоянии в 30 пикселов от левого края клипа. картинку хоти увеличить в два раза, а точку клика оставить неизменной. значит, финальная ширина будет 200 пикселов, а точка клика будет на расстоянии 60 пикселов, но так как она должна остаться неизменной, то измениться координата _x клипа xdif = 30 - 60 = -30, т.е. xnew = _x - 30 пикселов получив новую координату, мы в цикле формируем массив:
где xcoor - массив x координаты клипа, 48 - длительность процесса увеличения клипа, т.е. 2 секунды для 24 кадровой шкалы таким же образом вычисляем массивы y координаты, массивы w и h (ширины и высоты) клипа далее останется на каждом кадре или на каждом запуске таймера setInterval() присваивать клипу новые координаты клипу _x, _y, _xscale, _yscale |
||||
|
|||||
| var |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 23.10.2009 Репутация: нет Всего: нет |
не все так просто как хотелось бы)
спасибо за ответ! буду знать где копать! |
|||
|
||||
![]()
|
| Правила форума "Flash" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Flash | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |