Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подарок для студии, скрипт "Падающий снег", по случаю его написания
 
 автор: 12345   (28.12.2005 в 05:34)   письмо автору
 
 

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

Работу скрипта можно посмотреть на странице http://example.javascript.aho.ru/xmp002/falling-snow.htm.

Аннотация.
Скрипт падающего снега. 28.12.2005 IE5+, FF1.06+, Opera7.54+
Не требует обязательного использования рисунка снежинок.
Может показывать несколько видов снежинок или символов, похожих на них.
Устанавливается прозрачность снежинок или символов, оттенок цвета.
Регулируются скорость падения, минимальный и максимальный размеры.
Указывается расположение и ширина колонки в окне, в которой будет снег.

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

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

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

   
 
 автор: LimP   (28.12.2005 в 09:17)   письмо автору
 
   для: 12345   (28.12.2005 в 05:34)
 

статично.

   
 
 автор: elenaki   (28.12.2005 в 09:40)   письмо автору
 
   для: LimP   (28.12.2005 в 09:17)
 

Рулит! спасибо автору и модификатору :)

PS.
клиенту не понравилось, все удалила. :(
когда же, наконец, клиенты начнут понимать красоту!?!?

   
 
 автор: 12345   (28.12.2005 в 13:12)   письмо автору
 
   для: elenaki   (28.12.2005 в 09:40)
 

На мой взгляд, всякая анимация отвлекает от дела, кроме управляемой посетителем. Я сам бы никогда не взялся делать такое, а то, что сделал - это меньшее зло из имеющихся :). Как видите, постарался, чтобы мешало взгляду как можно меньше.

LimP : что статично? (Медленно?)

cheops: написал письмо. Выложил архив с кодом и рисунками. На странице демонстрации хочу ещё управление параметрами в онлайне сделать, тогда обновлю архив.

   
 
 автор: elenaki   (28.12.2005 в 14:05)   письмо автору
 
   для: 12345   (28.12.2005 в 13:12)
 

в том-то и дело, что я была против всякой анимации, клиент САМ изъявил желание, чтобы
что-то падало на фоне. моя задача была - чтобы закидоны клиента не мешали работе всего
остального. предложенный вариант ему не понравился. придется все-таки во Флаш лезть.
банальный скроллироуемый фон с полупрозрачными символами ему тоже не понравился.
ему, видите ли, нужно, чтобы падающие символы постепенно исчезали и падали не поверх
страницы, а на фоне... сделаю 2 слоя, в нижний кину флашик, в верхний все остальное.
интересно, как себя поведут при этом формы? если флашик кидать поверх, формы не
работают.

   
 
 автор: 12345   (28.12.2005 в 14:24)   письмо автору
 
   для: elenaki   (28.12.2005 в 14:05)
 

elenaki: Поставьте после 37-й строчки из последнего архива такой блок параметров:
var snowmax=10 //поменьше объектов
var snowletter=["$","€"]; //убрать все лишние символы
var sinkspeed=0.3 //скорость падения по желанию
var snowmaxsize=65 //размер впечатлительнее
var snowminsize=23
var opac=1 //отключить прозрачность
var stepTime=140 //не меньше 100, чтобы было время для других скриптов
Устроить падение на фоне несложно (всю страницу в див с absolute, больше ничего не менять), плавное пропадание тоже - управление opacity существует. Интересно, как это скажется на скорости, наверное, плохо. Если клиент не против, поэкспериментируйте (за его счёт :) ). На флеше будет, конечно, двигаться плавно и отлично. Только слышал, что в FF нельзя сделать прозрачный фон флеша, это так?

cheops (29.12.2005): тогда и адрес скрипта изменился: [url]http://www.softtime.ru/javascript/snow-falling.php[/url]

   
 
 автор: cheops   (28.12.2005 в 13:32)   письмо автору
 
   для: 12345   (28.12.2005 в 05:34)
 

А можно, мы эту прелесть выложим в раздел "Javascript", если да, то не могли бы вы сообщить свои данные (ФИО)?

   
 
 автор: cheops   (28.12.2005 в 18:39)   письмо автору
 
   для: cheops   (28.12.2005 в 13:32)
 

Скрипт помещён в разделе JavaScript.

http://www.softtime.ru/javascript/snowdown.php

   
 
 автор: 12345   (28.12.2005 в 18:52)   письмо автору
 
   для: cheops   (28.12.2005 в 18:39)
 

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

Замечания: cheops: я полагаю, что лучше, всё же, назвать имена страниц и архивов именно как falling-snow.zip, потому что именно так у англичан называется "падающий снег" и под таким именем файлы проиндексируют поисковики. Если уж надо выделить snow, то snow-falling или snow-fall.zip

2) отсутствует картинка по адресу http://www.softtime.ru/javascript/snow21.gif ,она у меня имеется в прикреплённом архиве в этой теме.

   
 
 автор: cheops   (28.12.2005 в 19:04)   письмо автору
 
   для: 12345   (28.12.2005 в 18:52)
 

Поправлено.

   
 
 автор: coloboc66   (29.12.2005 в 16:09)   письмо автору
 
   для: cheops   (28.12.2005 в 19:04)
 

Хороший скрипт, только непонятно: к чему в нем денежные знаки, и как проще от них избавиться?

   
 
 автор: 12345   (29.12.2005 в 16:48)   письмо автору
 
   для: coloboc66   (29.12.2005 в 16:09)
 

Убрать все ненужные знаки из строки var snowletter=["$","€", ... ]; и(или) вставить свои.

   
 
 автор: elenaki   (29.12.2005 в 16:57)   письмо автору
 
   для: coloboc66   (29.12.2005 в 16:09)
 

потому что скрипт на самом деле называется "Падший снег" и падает он только за деньги :)
это было желание моего клиента, чтобы дензнаки падали...

   
 
 автор: Akira   (30.12.2005 в 02:34)   письмо автору
 
   для: elenaki   (29.12.2005 в 16:57)
 

Браузер Opera грузит на 50% процессор, да и все браузеры, вот поэтому и не люблю JS

   
 
 автор: coloboc66   (30.12.2005 в 09:06)   письмо автору
 
   для: Akira   (30.12.2005 в 02:34)
 

А можно поставить кнопочки для пользователя- "включить снег", "выключить снег".

   
 
 автор: 12345   (30.12.2005 в 11:50)   письмо автору
 
   для: coloboc66   (30.12.2005 в 09:06)
 

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

[url]Дополнение_от_1.01.2006[/url]:
Сделана возможность онлайновой проверки работы скрипта (задание разных параметров) без перезагрузки страницы. пример и код лежат на http://example.javascript.aho.ru/xmp002/falling-snow.htm. Возможны ещё небольшие доработки (чтобы менялся символ, если начинает падать снова сверху), поэтому пока не прошу обновлять на softtime.ru .

для coloboc66: сделал выключение снега.

elenaki: сделал плавное угасание снежинок внизу экрана (IE,FF). Нагружает процесср на 20% больше, чем без него, но смотрится выигрышнее в любых отношениях. Так что, немного уменьшив размер снежинок или их количество, можно скомпенсировать нагрузку.

   
 
 автор: DEMON.GDV   (04.01.2006 в 00:56)   письмо автору
 
   для: 12345   (30.12.2005 в 11:50)
 

Спасибо за скрипт! давно на сайте подобный стоял.
А можно ли сделать, что бы снежинки не падали, а как бы в лицо летели, что бы место откуда они летят менялось, так же его размер и скорость.
В тестировании помогу!

   
 
 автор: 12345   (10.01.2006 в 15:19)   письмо автору
 
   для: DEMON.GDV   (04.01.2006 в 00:56)
 

Да, хорошая мысль - развить алгоритм двтижения. На других примерах видел всего лишь 3 разновидности, из них 2 приличных. Давайте так: я сделаю основу скрипта со множеством параметров, вы протестируете, я затем уберу лишнее для оптимизации.

Размер менять можно. Откуда они будут появляться, сверху или издали? Кроме того, можно менять отдельно гориз. и верт. размеры, будет впечатление вращения. Потом, надо придумать более хаотичную траектроию.

Есть также мысль сделать разновидность всплывающих пузырей.

Видел кто-либо гиф-анимацию вращающейся снежинки?

   
 
 автор: DEMON.GDV   (11.01.2006 в 00:29)   письмо автору
 
   для: 12345   (10.01.2006 в 15:19)
 

>Давайте так: я сделаю основу скрипта со
>множеством параметров, вы протестируете, я затем уберу
>лишнее для оптимизации.

ОК

>Размер менять можно.

Не помешает.

>Откуда они будут появляться, сверху или издали?

Появляться издали - как бы эффект движения в пространстве.

>Видел кто-либо гиф-анимацию вращающейся снежинки?

А что надо? Могу сделать за 15 минут из простой не вращающейся.

   
 
 автор: 12345   (11.01.2006 в 13:37)   письмо автору
 
   для: DEMON.GDV   (11.01.2006 в 00:29)
 

> А что надо? Могу сделать за 15 минут из простой не вращающейся.
Да, хорошо бы попробовать и посмотреть, как будет. Дело не такое простое, как кажется, из-за прозрачных пикселей, которые не должны дёргаться при анимации на границах. Потом, нужно вращение синусоидальное, а это лучше сделать из 3D-модели, если программа соответствующая стоит. Фон нужен прозрачный, вращение замедленное, но гиф не слишком тяжёлый, кба 5. Самое главное, чтобы было вращение по диагонали, потому что верт. и гориз. можно в JS сделать. Устройте, пожалуйста, простое диагональное вращение (по оси ЮЗ-СВ) с периодом 5 сек.

Над алгоритмом движения в ближайшие 3 дня подумаю, в понедельник можно будет что-то смотреть.

А начало движения можно устроить из верхней половины экрана, из размеров 3-5 пикс.

[url]Дополнение_от_12.01.2006:[/url]
Модифицировал скрипт для дальнейшей отработки эффектов падения и "налетания".

http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=11411&page=1
Все замечания по разработке этой тестовой версии - в ту тему.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования