Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Увеличение изображения относительно выбранной точк, Увеличение изображения относительно выбр 
:(
    Опции темы
var
Дата 23.10.2009, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.10.2009

Репутация: нет
Всего: нет



как реализовать в flash-клипе увеличчение изображения относительно выбранной точки?
Например эфект приближения относительно лица персонажа
спасибо
PM MAIL   Вверх
bars80080
Дата 24.10.2009, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 6
Всего: 315



т.е. увеличение всего изображения с сохранением центра на выбранной точке?
это чистая математика
ширину и высоту можно менять за счёт movieclip._xscale, movieclip._yscale, там вроде процентами задаётся
поймать во время клика координаты курсора _xmouse, _ymouse
а дальше всего лишь расчитывать и подгонять
PM MAIL WWW   Вверх
var
Дата 24.10.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.10.2009

Репутация: нет
Всего: нет



да увеличение всего изображения с сохранением центра на выбранной точке.
это получаетс покадровая анимация?
а нельзя как нить в конечном кадре выбрать центр и процент увеличения, затем движение от первого кадра и оно его увеличит?
PM MAIL   Вверх
bars80080
Дата 24.10.2009, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 6
Всего: 315



Цитата(var @  24.10.2009,  10:45 Найти цитируемый пост)
это получаетс покадровая анимация?

да нет. не обязательно. можно таймаутом отсчитывать шаги в пределах одного кадра. а если нельзя прерывать ход выполнения ролика, то да. тогда лучше повесить счётчик на _root.onEnterFrame


Цитата(var @  24.10.2009,  10:45 Найти цитируемый пост)
а нельзя как нить в конечном кадре выбрать центр и процент увеличения, затем движение от первого кадра и оно его увеличит? 

я вообще, считаю, что такой способ наиболее оптимален.
есть два метода решения задачи: 
1. вешать математическую формулу на функцию и пусть она каждый раз отсчитывает новые координаты клипа.
2. трассировка. в момент клика произвести все расчёты, создать массив с координатами и далее по ходу выполнения просто подставлять эти координаты

придерживаюсь второго

сама задача, как уже говорил - чисто математическая.
вот у нас есть клип, у него есть параметры _x, _y, _width, _height. положение относительно хоста и размеры.
мы кликаем по некой точке клипа, координаты считываем с _xmouse, _ymouse.
определив координаты, мы вычисляем в процентном отношении на каком расстоянии от левого верхнего угла находятся эти координаты.
допустим, при ширине клипа 100 пикселов, клик произошёл на расстоянии в 30 пикселов от левого края клипа. картинку хоти увеличить в два раза, а точку клика оставить неизменной. значит, финальная ширина будет 200 пикселов, а точка клика будет на расстоянии 60 пикселов, но так как она должна остаться неизменной, то измениться координата _x клипа xdif = 30 - 60 = -30, т.е. xnew = _x - 30 пикселов
получив новую координату, мы в цикле формируем массив:

Код

for(var i =0; i < 48; i++) {
    xcoor[i] = _x + xdif*i/48;
}

где xcoor - массив x координаты клипа, 48 - длительность процесса увеличения клипа, т.е. 2 секунды для 24 кадровой шкалы
таким же образом вычисляем массивы y координаты, массивы w и h (ширины и высоты) клипа

далее останется на каждом кадре или на каждом запуске таймера setInterval() присваивать клипу новые координаты клипу _x, _y, _xscale, _yscale
PM MAIL WWW   Вверх
var
Дата 24.10.2009, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.10.2009

Репутация: нет
Всего: нет



не все так просто как хотелось бы) 
спасибо за ответ! 
буду знать где копать!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы про программирование на ActionScript 1,2 (Flash 8 и более ранние версии) пишите в форуме ActionScript 1,2
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flash | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.