Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт "Падающий снег" 
:(
    Опции темы
12345c
Дата 28.12.2005, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



 По неоднократным просьбам сделать работающими какие-то старые скрипты со снегом, сделал и выкладываю. Учтены многие имевшиеся недостатки и пожелания.

Аннотация.
Скрипт падающего снега. 28.12.2005 IE5+, FF1.06+, Opera7.54+ 

(9.11.2006: апгрейд для Оперы 9+, проверено в Опере 9.01.)
Не требует обязательного использования рисунка снежинок. 
Может показывать несколько видов снежинок или символов, похожих на них. 
Устанавливается прозрачность снежинок или символов, оттенок цвета. 
Регулируются скорость падения, минимальный и максимальный размеры. 
Указывается расположение и ширина колонки в окне, в которой будет снег.

Снежинки кружатся по собственным случайным законам.
Процесс устойчив к прокрутке и изменению размеров окна.
Чем меньше снежинок, тем меньше нагрузка процессора при просмотре окна.

При установках по умолчанию процессор 2000МГц показал в WinXP загрузку 12-15% для IE6, 23-25% для FF (он традиционно сильно грузит анимацией прозрачных слоёв).

Работу скрипта можно посмотреть на странице falling-snow.htm.


С благодарностью приму результаты тестирования и возможность сотрудничества в особенных, но не слишком экзотических браузерах - на Юниксе, на Маках. 

Примечание от 9.11.2006: обновил скрипт до поддержки прозрачности в Опере 9+.
(На Маках так никто и не проверил? А скачивают этот скрипт регулярно.)

Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:05

Присоединённый файл ( Кол-во скачиваний: 333 )
Присоединённый файл  falling_snow.rar 5,50 Kb


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
12345c
Дата 30.1.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



 Повесил разновидность этого скрипта - снег с налетающими "в кадр" снежинками. Страница для отладки, поэтому довольно сильно нагружает процессор. При желании можно поставить stepTime=120;snowmax=15; в командной строке и перезапустить - нагрузка уменьшится.

Ожидаю, что кто-то даст дельные советы, как улучшить дизайн скрипта, приведёт гифы вращающихся снежинок с прозрачным фоном. Делать их довольно долго, возможно, кто-то сможет сделать кады анимации из 3d-модели.

http://js2.ru/example/xmp002/fa...ow-BrownMov.htm

В архиве falling-snow.rar этой версии скрипта нет, читайте со страницы демонстрации.

Главное, что хочу доделать - изменить алгоритм движения на более хаотический. Если присмотреться, сейчас они движутся по более или менее изломанной спирали. Хорошо бы попробовать вектор скоростей, подверженный броуновскому движению, и оптимизировать его так, чтобы не ухудшить производительность. Потребуется долгий тюнинг и выбор параметров, поэтому скрипт ожидает своего доделывания. 

Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:06


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Sardar
Дата 4.2.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6984
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Сильно грузит процессор... и так будет всегда ИМXО... это ограничивает применение скрипта.
Может набивать большие слои со снежинками в разброс, двигая слои можно добиться иллюзии что двигаютться снежинки хаотично, а браузеру гораздо меньше нагрузка (блок уже отрисован).
Можно время от времени сдвигать снежинки и в слоях, тогда хаотичность точно будет smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
12345c
Дата 5.2.2006, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Чем крупнее снежинки, тем больше нагружается. Большие слои должен вообще долго двигать. Если много картинок не делать (12-15), то нормально - на 5-20% процессор типа 2 ГГц. Сильно зависит от размеров рисунков и частоты перерисовки. Если снег делать в маленьком окошке, как в подобных реализациях на флеш и джава, то по плавности будет неотличим при небольшой загрузке процессора. А вообще джава должна работать значительно быстрее. Другое дело, что отключают флеш и джаву.


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
Sardar
Дата 5.2.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6984
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Нет, есть понятие контейнера (в CSS), это область в которую входят другие блочные элементы со своими контейнерами и inline элементы. Если слой на абсолютной позиции, то его содержимое отрисовываеться в буффер-картинку. Если сдвигать такой слой, то он будет отрисовываться горадо быстрее чем туева хуча элементов по отдельности, т.к. отрисовки нет, прямое копирование пикселов.

Короче попробуй smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Siansor
Дата 8.2.2006, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Присоединённый файл для скачивания- не скачивается smile (4 раза пробовал)

PM MAIL WWW ICQ   Вверх
12345c
Дата 8.2.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



 Siansor, ?? , у меня качается без проблем. Тогда берите его на странице демонстрации - http://js2.ru/example/xmp002/falling-snow.htm . 

Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:07


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
12345c
Дата 9.11.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Поддержана прозрачность падающих снежинок в Опере9+.

Как это выглядит в Опере 9.01 (скрипт с эффектом приближения снежинок):

на рисунке выбрана область присутствия снега в пределах 40% правой части окна. Процессор 2 ГГц, при этом нагрузка - 40-50 % при данных установках, видимых на рисунке. В список снежинок включены символы и буквы, поэтому они летают на экране вместе с рисунками.

Присоединённый файл ( Кол-во скачиваний: 105 )
Присоединённый файл  snap5.png 35,81 Kb


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
AKS
Дата 1.12.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


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

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



В качестве альтернативного варианта решил предложить свой "снегопад".
Сценарий для "снегопада" я попытался написать, руководствуясь принципами ООП. В результате с "дуру" я создал для каждой "снежинки" свой собственный объект, но, как раз, без этого было бы не интересно. 
В архиве - страничка с примером.

(02.12) Изменил сценарий - добавил возможность использовать изображения.

Это сообщение отредактировал(а) AKS - 2.12.2006, 16:43

Присоединённый файл ( Кол-во скачиваний: 149 )
Присоединённый файл  snowfall.zip 15,63 Kb
PM MAIL   Вверх
Zeroglif
Дата 1.12.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(AKS @  1.12.2006,  15:08 Найти цитируемый пост)
свой "снегопад".

 smile  Плюс семь в Москве (прощай, шипованная резина). Сейчас кроме "своего снегопада" ничего другого не остаётся. Пусть даже этот snowstorm и из 50-ти снежинок... smile


PM MAIL WWW   Вверх
AKS
Дата 1.12.2006, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


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

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



Цитата(Zeroglif)
прощай, шипованная резина

Не переживайте, разутым не останетесь! Поделюсь своими кроссовками, которые на все случаи жизни (у них псевдослик от +30С до -30С)!  ;)

Ну а по снежинкам? 50 снежинок - 50 объектов? Каково script engine'у?...

PM MAIL   Вверх
Aliance
Дата 6.12.2006, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



У меня скрипт в ИЕ как минимум моргает полоска прокрутки справа время от времени...
Зато сокрость скрипта радует smile
PM MAIL WWW ICQ Skype   Вверх
AKS
Дата 6.12.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


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

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



Aliance
Попробуйте в объекте snow_Flakes_Proto увеличить значение самого первого св-ва page_padding. Я, тестируя в своих браузерах, посчитал, что 60 px будет достаточно. Но, раз уж "вылазят" снежинки за пределы ограниченной области, надо добавить. Надеюсь, что именно из-за недостаточного отступа появляется полоса прокрутки...
PM MAIL   Вверх
Aliance
Дата 6.12.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Извените, если не уточнил - пользуюсь скриптом от 12345c  smile 
PM MAIL WWW ICQ Skype   Вверх
12345c
Дата 6.12.2006, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Да, в него надо прикрутить измеритель перегрузки процессора, чтобы затем установить автоматически меньшую скорость. Потому что на слабых процессорах перегружается (загрузка времени 100%), а если несколько окон со скриптом открыто, то и на любых.
PM WWW   Вверх
SelenIT
Дата 6.12.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Цитата(12345c @  6.12.2006,  12:40 Найти цитируемый пост)
измеритель перегрузки процессора


12345c, жутко интересно, как такое можно реализовать? Или, может быть, это уже где-то реализовано?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
12345c
Дата 6.12.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Просто сравнить показания часов и таймера. Так можно узнать, насколько перегружен, с некоторой точностью. Потом выбрать допустимое число снежинок, чтобы стало 50-60%. Потом корректировать понемногу. Не делал, но для таких алгоритмов с анимацией это напрашивается. Сделайте, и исторя Вас не забудет smile . Сферы применения - везде, где скрипт (с таймаутами) перегружает процессор и есть возможность регулировки нагрузки. Анимация, навороченные оболочки визуальных редакторов или подсветки синтаксиса. Главное, чтобы алгоритм был без автоколебаний, типа решения одномерного диф.ур-а 2-го порядка (терморегулятор).
PM WWW   Вверх
SelenIT
Дата 6.12.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



12345c, спасибо за объяснение, что-то в этом роде я себе и представлял. AFAIK, в Gecko для учета этого отставания даже есть встроенный механизм... На досуге обязательно поэкспериментирую!


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Black_Earl
Дата 8.12.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.12.2006
Где: КЗ

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



Как снежинки на всю страницу сделать, а не только в правой колонке? Вроде всё облазил, не получается ... smile
PM MAIL   Вверх
Nicholas_S
Дата 8.12.2006, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



12345c, нужно ли еще тестить на МАКе? Если все еще есть необходимость в доработке скрипта, могу помочь, как на МАКе, так и на *иксах.


--------------------
...все в мире относительно
PM   Вверх
12345c
Дата 8.12.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Нужно, этот скрипт не тестировался на маках и иксах. Хотя должен работать, ничего мако-зависимого нет. Интересно будет узнать, насколько быстрее или медленнее работает - по проценту загрузки процессора, если такой показатель в ОС удастся отыскать.

А на Маке важнее (для форума) потестировать и поучаствовать в отладке скрипта, который пишем для раздела Python. Там точно мако-зависимо, и надо дописать для совместимости (переносы строк как \r). Это в теме   и нескольких смежных.

http://forum.vingrad.ru/topic-124918/kw-te...%FB-python.html

Добавлено @ 16:34 
Цитата(Black_Earl @  8.12.2006,  12:50 Найти цитируемый пост)
Как снежинки на всю страницу сделать, а не только в правой колонке? Вроде всё облазил, не получается ... smile 
В инструкции написано - 
Цитата
snowingleft=0.7    //левая граница присутствия снега
snowingwidth=0.3    //ширина присутствия снега в окне
На всю ширину будет - snowingleft=0;snowingwidth=1.0 . 

Скажи, как надо было сформулировать, чтобы было понятно? smile
PM WWW   Вверх
Nicholas_S
Дата 8.12.2006, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На выходных постараюсь выкроить время, потестирую.


--------------------
...все в мире относительно
PM   Вверх
R.M.
Дата 8.12.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



Прикольно, жалко действительно грузит проц (кстати при прозрачности 1.0 в 2 раза быстрее не становится, максимум процентов на 10-15).

12345c, а как ещё можно ускорить?

Добавлено @ 17:41 
Точнее понизить нагрузку smile кроме как уменьшения прозрачности


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Nicholas_S
Дата 8.12.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



R.M., например, использовать в качестве фигур простые элементы (раньше для имитации простого снега я использовал вообще <hr> smile), плюс без прозрачности, плюс более простой алгоритм... но сильно все равно не поможет, как ни крути.


--------------------
...все в мире относительно
PM   Вверх
12345c
Дата 8.12.2006, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



У меня на тестах было в 2 раза. Но это сильно зависит ещё от видеокарты - пробовал когда-то на медленной видеокарте - было хуже при том же процессоре.
Чем мельче рисунки, тем меньше нагружает. А так - из алгоритма выжато всё, чтобы он не тормозил. Sardar  предлагал двигать группы снежинок, но это на взгляд будет заметно, а эффекта может не дать, так как от площади рисунка зависит.
PM WWW   Вверх
Nicholas_S
Дата 8.12.2006, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



12345c, согласен, тут вычислений не так много, поэтому выигрыша в скорости при оптимизации самого алгоритма движения много не получить.


--------------------
...все в мире относительно
PM   Вверх
R.M.
Дата 8.12.2006, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



12345c, спасибо за скрипт, скора новый год, надо поставить на пару дней smile 
Я кстати тестил на Radeon 9600 Pro

Т.е. если уменьшить картинку и убрать прозрачность поидее скорость увеличится?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Aliance
Дата 8.12.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



12345c, а на мой вопрос ответишь?
Цитата(Aliance @  6.12.2006,  01:37 Найти цитируемый пост)
У меня скрипт в ИЕ как минимум моргает полоска прокрутки справа время от времени...


ЗЫ: у меня с 5 окнами скрипт НЕ тормозит =)

PM MAIL WWW ICQ Skype   Вверх
R.M.
Дата 9.12.2006, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



Цитата(Aliance @  9.12.2006,  00:49 Найти цитируемый пост)
У меня скрипт в ИЕ как минимум моргает полоска прокрутки справа время от времени...

у меня и в ФФ такое есть smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
12345c
Дата 9.12.2006, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Цитата(Aliance @  6.12.2006,  00:37 Найти цитируемый пост)
У меня скрипт в ИЕ как минимум моргает полоска прокрутки справа время от времени...
Моргает - это в смысле, наверное, появляется и исчезает? Это потому что не очень чётко контролируется "заплыв" снежинок за край окна. Если область их присутствия чуть отодвинуть от края, заплывов не будет или почти не будет.

Код

snowingleft=0.65    //левая граница присутствия снега
snowingwidth=0.25    //ширина присутствия снега в окне

function botRight(){    if(ie5||isOpera){marginbottom=d.body.clientHeight*0.9;    marginright=d.body.clientWidth;
    }else if(ns6){marginbottom=innerHeight*0.9;    marginright=innerWidth;}}


А чётко контролировать - это учитывать их размеры, я не стал делать, чтобы не увеличивать объём вычислений.

Но я кручу скрипт несколько минут, и не вижу при исходных установках заплывов. Они случаются, но довольно редко. Или под морганием понимается что-то другое?

PM WWW   Вверх
Nicholas_S
Дата 9.12.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



12345c, он имеет ввиду то, что высота снежинок не учитывается при достижении ими нижней границы экрана, поэтому перед тем, как "обнулить" свою позицию и исчезнуть, они чуть заходят на нижнюю грань, поэтому и появляется скроллбар.


--------------------
...все в мире относительно
PM   Вверх
Aliance
Дата 9.12.2006, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



12345c, я имею ввиду правый (вертикальный) скробблар.

У меня в настройках кода:
Код

var snowingleft=0    //левая граница присутствия снега
var snowingwidth=1    //ширина присутствия снега в окне


Но первые секунд 5 имеет место быть моргание, потом проходит. Если ставить var snowingwidth=0.9 - онно все равно не исчезает.
PM MAIL WWW ICQ Skype   Вверх
12345c
Дата 9.12.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



А, ну для этого
Код

function botRight(){    if(ie5||isOpera){marginbottom=d.body.clientHeight-snowmaxsize;    marginright=d.body.clientWidth;
    }else if(ns6){marginbottom=innerHeight-snowmaxsize;    marginright=innerWidth;}}
, только не совсем так, а чуть больше, особенно в скрипте с увеличением снежинок.
PM WWW   Вверх
Black_Earl
Дата 11.12.2006, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.12.2006
Где: КЗ

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



Цитата(12345c @ 8.12.2006,  16:30)
Скажи, как надо было сформулировать, чтобы было понятно? smile

Сорри ... перед вопросом пробовал всё что можно, не получалось, потому и задал вопрос ...  smile 
PM MAIL   Вверх
12345c
Дата 11.12.2006, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Сделал некоторое усовершенствование обоих скриптов, пока не глобальное, поэтому файл в первом посте не обовляю, а лежит архив в http://js2.ru/example/xmp002/falling-snow-en.htm  (с демонстрацией).

Обновление в том, что пофиксены "мигания" скролла (но это мелочи) и второе -  если создать прокрутку кликом по "Add scrolling" внизу, и покрутить, увидим, что все снежинки ползут вслед за прокруткой и всегда находятся в окне. Это не выглядит естественно, поэтому надо придумать что-то лучше. Зато их не придётся ждать, пока они упадут на высоту экрана или нескольких. Включён этот режим переменной snowOnScreen=1. 0 - прежний режим, который надо будет усовершенствовать в алгоритме появления снежинок после прокрутки (чтобы без "дружного" ползания по экрану, с привязкой к документу).

Далее планируется сделать подстройку скорости скрипта в зависимости от мощности процессора. На эту тему будет отдельная статья и исследование smile.

Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:09


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
VLRap
Дата 15.12.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



12345c, это самый лучший снег из всех, которые я видел. Сейчас скрещиваю броуновский с последним, чтобы и ползунки не дёргались и снежинки приближались. Очень большая просьба: сделайте настройки позиции по вертикали. Очень удобно было бы если бы снег сыпался сверху до трети-четверти и не мешал бы читать. Ставлю на форум ФастББ. Большое спасибо за скрипт.
PM MAIL   Вверх
12345c
Дата 15.12.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Спасибо, для того старались smile.

Там уже скрещено - я не стал вторую ссылку давать, потому что она на странице и в архиве.
http://js2.ru/example/xmp002/fa...approach-en.htm

Часто стали спрашивать настройку высоты по вертикали. Сейчас добавил эту настройку в последние версии файлов.

Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:11


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
GZep
Дата 18.12.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



12345c, а почему там снежинки(некоторые) вверх падают smile Или это что-то на подобие бурана?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Nicholas_S
Дата 18.12.2006, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GZep, специально для эпилептиков.  smile 
На самом деле они вверх летят недолго очень, изредка и на чуть-чуть, такова синусоидальная формула расчета движения.


--------------------
...все в мире относительно
PM   Вверх
GZep
Дата 19.12.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



Цитата(Nicholas_S @  18.12.2006,  21:49 Найти цитируемый пост)
синусоидальная формула расчета

А синусойда тут причем? У них движение направо-налево в строго заданном количестве пикселей?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
12345c
Дата 19.12.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



(Опять вИдение желаемого в действительном.)
Смотри программу.
PM WWW   Вверх
VLRap
Дата 20.12.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



12345c, в последних версиях нет настройки положения снега после прокрутки. Подскажите, пожалуйста, как изменить function checkPgDn чтобы при скроллинге снег оставался на месте и плавно переходил бы в видимую область как, например, в falling-snow-BrownMov. У самого тяму не хватает smile 
PM MAIL   Вверх
12345c
Дата 20.12.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



В http://js2.ru/example/xmp002/fa...approach-en.htm и http://js2.ru/example/xmp002/falling-snow-en.htm написано в коде: 

Цитата
var snowOnScreen=1 // 1/0-regime of scrolling of page (snow on screen/snow on paper)

(снег на экране/снег на документе. Русского варианта последней версии пока нет.)
При установке в 0 будет работать старый режим, который удобен, если высота страницы не более 2 экранов.



Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:12


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
VLRap
Дата 20.12.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Экскьюземуа, запутался в версиях. Есть в новой параметр snowOnScreen, но при =0 снег появляется в самом низу страницы и падает ещё ниже, растягивая страницу по вертикали. При этом видимый размер снежинок увеличивается до 100-150 пикселей. Как исправить?
PM MAIL   Вверх
12345c
Дата 20.12.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Чтобы снежинки сильно не росли, уменьшайте stepIncrease=1.023; до 1.01, например. И ещё, они исчезают не по размеру, а по достижению низа, поэтому скорость падения должна быть не слишком малой. В ближайшей новой версии (до нового года) постараюсь учесть этот параметр - размер. Но появление в самом низу при snowOnScreen=0 не наблюдал ни в одной из версий бр-ра. по обеим ссылкам. Если прокручиваешь вверх, они остаются внизу, но новые появляются сверху.Опишите точнее условия запуска, а лучше - страницу со скриптом.
PM WWW   Вверх
VLRap
Дата 21.12.2006, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот тестовая страница со скриптом: http://slil.ru/23613536
Проверяю в Опере 9.00 и ИЕ 6.0- результат один. И такой аномальный рост снежинок только со snowOnScreen=0. Посмотрите, пожалуйста.
И ещё: скрипт не менял, с другими версиями не сращивал, скопировал прямо с исходника страницы http://js2.ru/example/xmp002/fa...approach-en.htm
Жаль там прямо на странице нет доступа к этому параметру.

Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:13
PM MAIL   Вверх
12345c
Дата 21.12.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Почему нет? Вписываете его как оператор JS в поле ввода и жмёте на кнопку запуска.

Посмотрел. Этот скрипт устанавливает начало области снега в той точке, где вписан скрипт (потому что position:absolute без top и left). Когда поставил скрипт в начало страницы, всё встало на свои места. Или дописать в function createSnow() атрибуты
Код
o.style.top=o.style.left=0;
после o.style.position='absolute';

Чтобы не росли слишком сильно, поставил stepIncrease=1.01; . Ещё snowSizeMax должен влиять и sinkSpeed.

PM WWW   Вверх
VLRap
Дата 21.12.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Надоел уже, наверное... smile 
Пробовал так:
Код

o.style.position='absolute';
o.style.top=o.style.left=0;
o.style.top=0-snowSizeMax;

И без третьей строки, что сути не меняет. Ну никак. Только установкой в начало страницы. 
Просто дело в том, что движок FastBB (он же хостинг) не позволяет ставить скрипт в раздел лого. Сторонние скрипты можно ставить только в самом конце. smile 
А приближение снежинок совсем не беспокоит- эти параметры очень гибко настраиваются.

Это сообщение отредактировал(а) VLRap - 21.12.2006, 16:43
PM MAIL   Вверх
12345c
Дата 21.12.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Наоборот, каждый такой разбор улучшает скрипт для других пользователей smile
Извините, не ту правку  указал. Я хотел 

Код
d.write('<div id=snowZone style=position:absolute;top:0;left:0></div>');

сделать позиционированной в нуле, вот так.
PM WWW   Вверх
VLRap
Дата 22.12.2006, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Отлично! Всё просто супер! Спасибо! 12345c, респект и уважуха!
Ставится вместо оригинальной
Код

d.write('<div id=snowZone style=position:absolute></div>');


Может кому надо- немного исправленные чьи-то снежинки 5 штук: flakes
А вот что в итоге вышло из моего форума: Форум сибирских растаманов

Это сообщение отредактировал(а) VLRap - 22.12.2006, 14:37
PM MAIL   Вверх
12345c
Дата 22.12.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Спасибо за снежинки !  smile
Правда, они для серых фонов - чтобы запустить, надо положить в каталог к скрипту и выполнить что-то типа этого через textarea:

Код
unitText=["<img src=flake1-1.gif>","<img src=flake2-1.gif>","<img src=flake3.gif>","<img src=flake4.gif>","<img src=flake5.gif>","<img src=snow.gif>","<img src=snow21.gif>"];
d.body.bgColor='999999'
Для примера, грубо скорректировал пару снежинок на универсальный фон и выложил ниже. Видно, что если снежинка нарисована с шириной линий в 1 пикс., она плохо ресайзится (flake2-1.gif). Поэтому качественно нарисованные снежинки должны быть с не менее 2-пиксельными линиями и 2-цветными.

+добавил в архив все виды снежинок: 2 старых, давно существующих на сайте, 5 новых от VLRap, белого цвета, могущие быть видимыми только на серых фонах, и 6 преобразованных из них, серо-белые, универсальные. 4 из них особенно хрошо выглядят, для 1-1 требуется мелкая юстировка, для 2-2 изначально был образ неудачный, из-за однопиксельных линий на фоне прозрачности. Так что 7-ю из них можно пользоваться на универсальных фонах. Для удобства, в этом же архиве - картинка с видом их на сером (#999) фоне с подписями имён.

Это сообщение отредактировал(а) 12345c - 23.12.2006, 20:35

Присоединённый файл ( Кол-во скачиваний: 56 )
Присоединённый файл  flakes_whiteGray.zip 12,43 Kb


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
12345c
Дата 23.12.2006, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Вот сама картинка из видов 13 вариантов снежинок из архива на сером фоне.

Присоединённый файл ( Кол-во скачиваний: 71 )
Присоединённый файл  flakes_n13.gif 6,08 Kb


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
GZep
Дата 7.2.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

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



А такие большие разве тормозить не будут?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
DmitryTs
Дата 24.5.2007, 10:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Это сообщение отредактировал(а) DmitryTs - 24.5.2007, 10:50
PM MAIL   Вверх
IgorFIN
Дата 30.11.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хотел разместить у себя на сайте... 

Но проблемы с работой есть. НЕ РАБОТАЕТ в Опере10 , а в IE8 прозрачности нету...
В остальных браузерах все хорошо работает.
PM MAIL   Вверх
FromUZB
Дата 18.12.2009, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(IgorFIN @  30.11.2009,  21:15 Найти цитируемый пост)
Но проблемы с работой есть. НЕ РАБОТАЕТ в Опере10 , а в IE8 прозрачности нету...В остальных браузерах все хорошо работает.

Скрипт падающего снега на сайт и архив снежинок я такой язаю скрипт, пашет вроде как везде... smile 

PM MAIL WWW   Вверх
12345c
Дата 5.1.2010, 06:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Цитата(FromUZB @  18.12.2009,  20:39 Найти цитируемый пост)
Скрипт падающего снега на сайт и архив снежинок

Примитивное синусоидальное движение снежинок - то, что отталкивает сразу на уровне подсознания. Были такие образцы во время создания этого скрипта, но они безоговорочно проигнорированы в своё время.


Цитата(IgorFIN @  30.11.2009,  19:15 Найти цитируемый пост)
Но проблемы с работой есть. НЕ РАБОТАЕТ в Опере10 , а в IE8 прозрачности нету...

Не совсем правда. Проверил в Опере 10.0-10.1 - работает (ссылки http://js2.ru/example/xmp002/falling-snow.htm и http://js2.ru/example/xmp002/falling-snow-BrownMov.htm ; присоединённый файл в 1-м сообщении, насколько помню - той же версии, что  в архиве из страниц демо ), IE8 - есть у него проблема с интерполяцией прозрачности при масштабе не 1 к 1 даже у гифов, поэтому проблемы с границами прозрачного и непрозрачного, а так всё работает, и прозрачность рисунков и фильтровая (побледнение слоя) в норме.

Хотелось бы выяснить у автора IgorFIN, что имелось в виду под неработой в Опере-10.


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
kykyiii
  Дата 6.7.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот еще рабочий скрипт снега дождя и пузырей
работает везде
http://javascript.onfind.net/

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  JavaScriptFast.zip 7,00 Kb
PM MAIL   Вверх
khaleese
Дата 18.12.2012, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Google
  Дата 21.9.2017, 11:33 (ссылка)  





  Вверх
Ответ в темуСоздание новой темы Создание опроса
Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Наши скрипты | Следующая тема »


 




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


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

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