Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.04.2012, 14:50
Интересующийся
Отправить личное сообщение для andrew_F Посмотреть профиль Найти все сообщения от andrew_F
 
Регистрация: 18.03.2012
Сообщений: 20

есть ли в js понятие частоты кадров, наподобие как во флэше?
при работе с флэшем там можно задавать кадры от 1 до 250 в секунду и на основе этого строится скорость анимации, которая на любом компе одинаково воспроизводится.
Я сам пока только изучаю JS, уже усвоил, что есть (как и в AS) такие же понятия как и во флэше при загрузке (onLoad) или по событю (MouseOn, MouseOut, Click...)
Но как, скажем, сделать смену картинок каждые полсекунды средствами js, чтобы во всех браузерах и на всех компах с разной скоротью процессоров и проч. одинаково бы проигрывалось? К чему привязываться надо? Ко времени? типа к переменной
var t=new Date();
t.getSeconds;
... и проч. Т.е. от секунд-миллисекунд надо скакать? но тогда на разных компах в разных браузерах это точно будет соблюдаться одинаково?

Или есть какой-то уже готовый метод (может в jQuery это тоже уже заложено?), типа "onEnterFrame" как во флэше - т.е. "по каждому кадру" делать, скажем, смену картинки, какую-то там функцию, действие...

Просто пока ещё не представляю как сделать, скажем, перемещене картинки от левого края браузера до правого и обратно со скоростью, которую как и где надо задавать?..И меняющееся положение картинки относительно левего верхнего угла браузера каким методом/способом задавать, чтобы бегала по какой-то траектории?...

Надеюсь, этот вопрос от только-только изучающего основы js не повергнет знатоков в шок? Можно будет увидеть простенький понятный код или ссылку на КОНКРЕТНУЮ реализацию подобной анимации???
Ответить с цитированием
  #2 (permalink)  
Старый 30.04.2012, 16:15
Интересующийся
Отправить личное сообщение для andrew_F Посмотреть профиль Найти все сообщения от andrew_F
 
Регистрация: 18.03.2012
Сообщений: 20

здОрово! Спасибо! Правда, пока ещё ничего не понял, но хоть по справочникам теперь буду знать в каком направлении копать, чтобы понять что к чему...
А чтобы объект "бегал" по браузеру есть какие-то подсказки?
Ответить с цитированием
  #3 (permalink)  
Старый 01.05.2012, 14:45
Профессор
Отправить личное сообщение для Nanto Посмотреть профиль Найти все сообщения от Nanto
 
Регистрация: 21.12.2010
Сообщений: 243

Сообщение от Maxmaxmахimus Посмотреть сообщение
вопрос не читал

var requestAnimationFrame = (function () {
	return window.requestAnimationFrame ||
		window.webkitRequestAnimationFrame ||
		window.mozRequestAnimationFrame ||
		window.oRequestAnimationFrame ||
		window.msRequestAnimationFrame ||
		function ( callback ) {
			return window.setTimeout( callback, 1000 / 60 );
		};

})();

var cancelRequestAnimationFrame = (function () {
	return window.cancelRequestAnimationFrame ||
		window.webkitCancelRequestAnimationFrame ||
		window.mozCancelRequestAnimationFrame ||
		window.oCancelRequestAnimationFrame ||
		window.msCancelRequestAnimationFrame ||
		function ( id ) {
			clearTimeout( id )
		}
})();


requestAnimationFrame подобно setTimeout вызывается при отрисовке следующего (после текущего) кадра в окне браузера, первый аргументом принимает калбак, вторым анимируемый элемент
Помилуйте святой отец! Вы же все ранво Timeout дёргаете! Причём с жёстко заданной частотой "вертикальной развёртки" - какая уж тут свобода анимации?
А если ещё всякие FF начнут подтупливать (что в порядке вещей) на обсчёте анимации? Куда Ваши "fps" будут годны?
Ответить с цитированием
  #4 (permalink)  
Старый 01.05.2012, 15:47
Интересующийся
Отправить личное сообщение для andrew_F Посмотреть профиль Найти все сообщения от andrew_F
 
Регистрация: 18.03.2012
Сообщений: 20

На до же!! Приятно что знатоки подключились
Значит всё же правильно предполагал, что разные браузеры по разному будут проигрывать, с разной скоростью, поскольку, оказывается нет такого понятия в браузере, как fps во флэше...
А как всё же мне div перемещать или параметры у объекта постепенно менять (координаты, цвет фона и проч...)? К чему всё-таки привязываться?
У Maxmaxmахimus задействуется setTimeout() - значит, всё-таки ко времени привязываться (от изменения переменной ne Date()???)? Или какие-то другие методы есть???
Ответить с цитированием
  #5 (permalink)  
Старый 01.05.2012, 18:59
Интересующийся
Отправить личное сообщение для andrew_F Посмотреть профиль Найти все сообщения от andrew_F
 
Регистрация: 18.03.2012
Сообщений: 20

спасибо Maxmaxmахimus!!!
Никогда бы не узнал про 16 миллисекунд и requestAnimationFrame !!!... Буду копать в этом направлении, хотя мне бы больше помогло, если бы работающий код увидеть, я в этих синтаксисах html/css пока ещё путаюсь, знаю, что для кроссбраузерности лучше jQuery использовать и проч. освоенные мною на текущий момент моменты, которые для меня пока ещё чудом являются. Вот с AS - там всё проще и понятнее для меня, и любую задумку интерактивную мне тоже реализовать проще и быстрее, про анимацию - вообще быстро.. Не думал вообще этот js изучать, но вот приходится более интенсивно свои флэшки в браузеры встраивать, вот и пришлось скакать от давно понятых понятий во флэше к осн.понятиям в js.
По себе знаю, ещё когда только изучал флэш - насколько в форумах уничижительно к новичкам относятся, и гнобят и слэнгом кидаются, только бы показать какое ты ничтожество, "додумалось" и посмело в форум прийти со своими глупостями. Ну ничего, видимо это болезнь всех "спецов". Сейчас вот сам пару обучающих курсов по флэшу записал, третий пишу, а на форумах по прежнему только им понятные объяснения новичкам снизосходят скинуть...

А знатоками на этом форуме, наверное, являются те, у которых написано под ником "Профессор" или карма у них большая. Естественно, понимаю, что это, наверное, необъективная оценка, но я тут новичок, порядков "тутошных" не знаю...
Ответить с цитированием
  #6 (permalink)  
Старый 01.05.2012, 19:31
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

http://habrahabr.ru/post/127014/ статья об этом в комментах явно указанна проблема этого всего
http://jsfiddle.net/paul/XQpzU/ -пример из статьи -явно демонстрирует недостатки метода по сравнению с классикой ,если его засунуть туда, куда не нужно

Последний раз редактировалось dmitriymar, 01.05.2012 в 19:37.
Ответить с цитированием
  #7 (permalink)  
Старый 01.05.2012, 19:34
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от andrew_F
А знатоками на этом форуме, наверное, являются те, у которых написано под ником "Профессор" или карма у них большая.
это ты об этом неадеквате?
http://javascript.ru/forum/members/1...axmaxmakhimus/
Ответить с цитированием
  #8 (permalink)  
Старый 01.05.2012, 19:51
Интересующийся
Отправить личное сообщение для andrew_F Посмотреть профиль Найти все сообщения от andrew_F
 
Регистрация: 18.03.2012
Сообщений: 20

ну-у-у-у, я тут пока что никого неадекватом не называл, может тут какая-то давняя "война" уже идёт - не знаю, "сами мы не местные", пока верю рейтингам отвечающих на этом форуме, то, как они сами себя называют/подписываются...
Понимаю, что это, наверное, неправильно, но просто хотел бы внятный кроссбраузерный код посмотреть, как этот div заставить перемещаться, сколько тиков должно пройти, чтобы он переместился на 100пкс, скажем, и что берётся в js за этот самый "тик"....вот и говорю всем спасибо, только давайте какую-то внятную инфу, только не пинайте и проч...

Спасибо, сейчас по ссылкам пройду - попробую разобраться с той инфой, что там описывается...
Ответить с цитированием
  #9 (permalink)  
Старый 01.05.2012, 20:25
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Maxmaxmахimus
ёлка закукарекала
как говорится -кто о чём а вшивый о бане..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
запомнить переменную js в одном файле и использовать в другом. как? skalka Общие вопросы Javascript 2 28.09.2010 08:19
Как лучше подгружать js? InviS Общие вопросы Javascript 0 15.09.2010 06:13
Как вызвать OpenDialog через JS? Некто Элементы интерфейса 6 26.11.2009 14:17
Вставка блока php в js...Как сделать? reup Общие вопросы Javascript 2 30.07.2009 11:02