Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Время gif анимации [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (7): « 1 2 [3] 4 5 6 7 »   

> Без описания
armancho7777777 Супермодератор
Отправлено: 05 Июля, 2012 - 09:48:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Немного модифицировал пример выше, написав "класс" под эту задачу (может на странице несколько анимаций) Радость
Принимает параметры:
1. Высота кадра
2. Высота спрайта
3. Скорость анимации (По умолчанию 40 миллисекунд (25 кадров в секунду))
Анимация воспроизводится с места остановки,
но если в метод start_animate() передать true, то анимация будет запускаться сначала.

Спойлер (Отобразить)

Живой пример тут.

(Отредактировано автором: 05 Июля, 2012 - 10:50:45)

 
 Top
DlTA
Отправлено: 05 Июля, 2012 - 11:09:47
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




armancho7777777 пишет:
Анимация воспроизводится с места остановки,
но если в метод start_animate() передать true, то анимация будет запускаться сначала.

лучше добавить метод pause со соответствующим функционалом.
 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Июля, 2012 - 11:11:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Да, можно и так)

(Отредактировано автором: 05 Июля, 2012 - 11:13:52)

 
 Top
DlTA
Отправлено: 05 Июля, 2012 - 11:23:02
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




и почему это как отдельный класс юзающий jq почему не как плагин
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Июля, 2012 - 11:25:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Плагинить ради одного типа анимирования? Скажи еще у меня на сайте гаечные ключи заплагинить тоже надо Радость
 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Июля, 2012 - 11:27:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Ну раз манипуляция с методами, так и потому класс)
+ чтобы связь метода с методом, или со свойством не терялась.
(Добавление)
DeepVarvar пишет:
Скажи еще у меня на сайте гаечные ключи заплагинить тоже надо
Радость Радость Радость

(Отредактировано автором: 05 Июля, 2012 - 11:30:53)

 
 Top
DlTA
Отправлено: 05 Июля, 2012 - 11:32:27
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




постараюсь седня найти время и накидать плагин, теоретически должно получиться достаточно хорошо.
 
 Top
Zuldek
Отправлено: 05 Июля, 2012 - 11:36:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




armancho Это конечно, вариант, но имхо все же не лучший. Потому что анимация создана Js на основе gifa может и не выглядеть так, как выглядит она в исходном файле.
Как минимум потому, что в гифах может устанавливать произвольная задержка для каждого кадра. Идеальным вариантом было бы имхо вычисление реального времени воспроизведение анимации.

(Отредактировано автором: 05 Июля, 2012 - 11:38:10)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Июля, 2012 - 11:39:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Zuldek, если так подходить к задаче, то можно указывать интервалы для каждого из кадров в массиве, ведь циклом так и так пробегать.
 
 Top
Zuldek
Отправлено: 05 Июля, 2012 - 11:43:24
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Верно, но для этого всеравно придется разбирать файл, ведь работа идет с загруженной пользователем гифкой и мы не знаем какая на самом деле задержка у каждого кадра. (либо были не досказаны условия задачи).
Если гифка всего одна, то, разумеется, разово задать в массиве все параметры анимации и показывать кадры Jsом. Тогда задача тривиальная.

(Отредактировано автором: 05 Июля, 2012 - 11:46:02)

 
 Top
armancho7777777 Супермодератор
Отправлено: 05 Июля, 2012 - 11:49:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Zuldek пишет:
все же не лучший
Для поставленной задачи автора темы? Ну тогда дайте лучший) Не думаю, что JS не справится с задачей, которую осилит GIF формат.
(Добавление)
Zuldek пишет:
ведь работа идет с загруженной пользователем гифкой

Разве?

(Отредактировано автором: 05 Июля, 2012 - 11:50:49)

 
 Top
Bio man
Отправлено: 05 Июля, 2012 - 13:08:32
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Спасибо armancho7777777
А спрайты надо руками делать?
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Июля, 2012 - 13:17:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Bio man пишет:
А спрайты надо руками делать?
Да, посмотри там в примере узкая и высоченная картинка, а-ля кинопленка.
 
 Top
Bio man
Отправлено: 05 Июля, 2012 - 13:19:19
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Ага. Способ интересный, впервые такой вижу. А кто знает как в фотошопе из анимации спрайт сделать?
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Июля, 2012 - 13:31:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Установить высоту канваса картинки = (высота-кадра*кол-во-кадров).
И расположить кадры сверху вниз или снизу вверх. Подмигивание
 
 Top
Страниц (7): « 1 2 [3] 4 5 6 7 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB