ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
22 февраля 2019 19:57
Вход Регистрация Забыли пароль ?

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro
              Система Управления
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
сайт megainformatic - Форум

сайт megainformatic - Архив Новостей

сайт megainformatic - Ваши Отзывы

сайт megainformatic - Автор

сайт megainformatic - Каталог Статей

сайт megainformatic - Добавить Ваш Сайт

сайт megainformatic - Технология

сайт megainformatic - игра Веселый Буквоежка

сайт megainformatic - Работа с базами данных MySQL

сайт megainformatic - Говорящий Комикс Веселый Буквоежка

сайт megainformatic - Добавляем созданный счетчик на все страницы Вашего Сайта

сайт megainformatic - СССР - Создаем Сайт Своими Руками - Экспорт/импорт данных из баз данных MySQL

megainformatic - СССР - Создаем Сайт Своими руками - Введение в php

megainformatic - СССР - Создаем Сайт Своими Руками - Выводим дату и время в формате RU

сайт megainformatic - уроки php

megainformatic - Уроки 3ds max

megainformatic - КАК СОЗДАТЬ СВОЮ ИГРУ - Веселый Буквоежка Ваше Визуальное Шоу / Fun Letter Eater You Visual Show

megainformatic - Формы оплаты заказа

megainformatic - оплата через систему QIWI - выбор продукта

megainformatic - КАК СОЗДАТЬ СВОЮ ИГРУ - Набор разработчика игр - Нечто: Необъяснимое - в плену желаний

megainformatic - Как создать игру ? - Программируем сами - Самый первый шаг

megainformatic - Как создать игру ? - Программируем сами - Самый первый шаг - страница 2

megainformatic - Как создать игру ? - Программируем сами - Содержание

megainformatic - Как создать игру ? - Программируем сами - Самый первый шаг - страница 3

megainformatic - Как создать игру ? - Программируем сами - Изучаем и модифицируем пример CreateDevice

megainformatic - Как создать игру ? - Программируем сами - пример CreateDevice страница 2

megainformatic - Как создать игру ? - Программируем сами - пример CreateDevice страница 3

megainformatic - Как создать игру - Vertices - Вершины - страница 1

megainformatic - Как создать игру - пример Matrices

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 2

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 3

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 4

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Уроки Photoshop

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 4

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 4

megainformatic - Эмулятор игры Ну, Погоди!

megainformatic - Оплата заказа через Сбербанк

megainformatic - Пример игры с исходным кодом Donuts3D

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

megainformatic - Открытый Полный Исходный код игры Дорога в Город

megainformatic - Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

megainformatic - Как создать игру - Веселый Единственный Буквоежка - выводим заставку

megainformatic - Как создать игру - Веселый Единственный Буквоежка - игровое меню

megainformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

подробнее

Модуль подсчёта ключевых слов в статье


Доброго времени суток, Вам, читающим эти строки !!!

Как я и обещал в предыдущей статье - Быстрый подсчёт ключевых слов в статье

в этой статье я расскажу Вам как самостоятельно написать модуль для решения этой задачи.

Как всё это работает Вы можете увидеть здесь - Онлайн-сервис подсчёта ключевых слов

На самом деле логика работы такого модуля достаточно проста и сводится к следующим основным шагам:

1.) Получить текст статьи из текстового файла

2.) Убрать из текста все символы кроме букв заменив их пробелами

3.) Разбить полученный текст на массив, собирая статистику по каждому слову.

Вот собственно и всё :))))

Ну а теперь код -

<?php

// 1.) Получить текст статьи из текстового файла

//имя файла статьи берем из значения параметра pf переданного по GET
$paper_file = substr($_GET['pf'], 0, 250);
if ( !$paper_file )
$paper_file = 'home.txt';

if ( file_exists($paper_file) )
{
$content = file($paper_file);
}

?>

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

Для того, чтобы реализовать выгрузку из внешнего файла - Вам нужно сделать механизм выгрузки статьи из внешнего файла.

Этот момент уже реализован в сервисе Онлайн-сервис подсчёта ключевых слов

Но не описан здесь.

Как реализовать выгрузку файла на сайт я уже описывал в статье - Выгрузка файла на сайт

Поэтому здесь я её касаться не буду.

<?php

// 2.) Убрать из текста все символы кроме букв заменив их пробелами

//заменяем спец. символы пробелами
function kg_replace_special_chars($line)
{
//определяем длину строки
$line_len = strlen($line);
//перебираем строку
for ( $i = 0; $i < $line_len; $i++ )
{
$symbol_code = ord($line[$i]);

//если символ - это буква -
if ( ($symbol_code > 63 && $symbol_code < 91) || ($symbol_code > 95 && $symbol_code < 122)
|| ($symbol_code > 190 && $symbol_code < 256) )
{
//ничего с ним не делаем
}
else {
//заменяем на пробел
$line[$i] = ' ';
}
}

return $line;
}

?>

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

<?php

//выводим табличку кодов символов
function show_symbol_codes(&$view)
{
for ( $i = 0; $i < 256; $i++ )
{
$view .= '<span style="color: #0000ff;">' . chr($i) . '</span> --- '.$i.' ';
}
}
?>

И собственно последний шаг -

<?php

// 3.) Разбить полученный текст на массив, собирая статистику по каждому слову

$view = '';

//перебираем все строки статьи
$l = 0;
$words_statistic = array(); //найденные слова
$words_statistic_count = array(); //статистика найденных слов
foreach ( $content as $line )
{
//заменяем знаки препинания и прочие спец. символы пробелами
$line = kg_replace_special_chars($line);
//$view .= $line;

//разбиваем строку на слова
$words = explode(" ", $line);

//считаем количество слов
$words_count = count($words);
for ( $i = 0; $i < $words_count; $i++ )
{
//если слово уже есть в массиве - увеличиваем его статистику
if ( in_array($words[$i], $words_statistic) )
{
$words_statistic_count[$words[$i]] = $words_statistic_count[$words[$i]] + 1;
}
else {
//если слова еще нет в массиве слов - добавляем его туда
$words_statistic[] = $words[$i];
$words_statistic_count[] = $words[$i];
$words_statistic_count[$words[$i]] = 1;
}
}


$l++;

}


//show_symbol_codes(&$view);


//показать слова, у которых статистика больше заданного значения
$value = intval($_GET['v']);
if ( !$value )
$value = 1;

$count_words_statistic = count($words_statistic_count);
for ( $i = 0; $i < $count_words_statistic; $i++ )
{
if ( $words_statistic[$i] != '' )
{
if ( $words_statistic_count[$words_statistic[$i]] > $value )
$view .= $words_statistic[$i] . ' ' . $words_statistic_count[$words_statistic[$i]] . '|';
}
}
?>

Работать описанный код будет аналогично тому, как он работает тут - kg

И самое главное - после всех манипуляций не забудьте вывести значение переменной $view на страницу в нужном месте.

т. е. примерно так -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Keywords Generator</title>
</head>

<body>
<?php
echo $view;

?>
</body>
</html>

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

Желаю Вам удачи !!! :))))

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

подробнее

Шарики и Ямки / Balls and Holes PC игра



read this paper in english

Шарики и Ямки / Balls and Holes игра PC версия 03.07.2017 скачать







Версия: 03.07.2017

Шарики и Ямки: Каникулы Зеленого Шарика.

Сумасшедший Дэйв из игры Растения против Зомби в гостях у Кости Коробкина.

Костя Коробкин вынужден спасаться от ядовитых горошин.

В игре используется новая технология рассредоточения внимания.

Это значит, что Игрок получает задачи, которые нужно решать одновременно.

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

Системные требования:

Windows XP / 7 / 8 / 10
directx 9c
~740 Mb свободного места на носителе информации.

Размер самораспаковывающегося архива: 493 Mb

Контрольные суммы для проверки целостности скачанного архива:

CRC32: C9FE6254
MD5: 5D715D4C32DE1F78C299B20BA6F16995
SHA-1: 6A25CB6BA47B32870C553A722E0667BA82199565









Шарики, ямки, двигай, лови, исследуй и погружайся !

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



Релаксационная составляющая игры:

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

Вы думали, что просто будете ловить шарики и всё ? Нет !
Попробуйте-ка управлять шариком или сразу несколькими и
не попадать в ямку.

Получилось ? А теперь так: шарик можно будет двигать
лишь в одном направлении, а пол - в другом - по
прямой или диагонали.

Действо будет сопровождать атмосферная музыка и
герои - Петька и Василий Иванович, Ниро Вульф и Арчи
Гудвин, а также пираты из Острова Сокровищ.

Пустыня, джунгли, подводный мир, космос, карамельная
страна, город с улицей у дома Ниро Вульфа и остров
сокровищ ! Что может быть интереснее ?

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

В подводном мире шарики будут скрывать заросли
водорослей.

В космосе ямки замаскированы и нужно не попадать в них.

В карамельной стране есть блоки, к которым шарик
может прилипнуть.

В городе с улицей у дома Ниро Вульфа шарики будут
материализовываться буквально из воздуха
постепенно проявляя себя - больше поймаешь -
яснее становится шарик.

Про необычный уровень я уже рассказывал - там
на Острове Сокровищ
нужно будет управлять и шариком и полом одновременно !

review #82 balls and holes level 7 Treasure Island lets play ! / обзор 7 уровня Остров Сокровищ. Lets play





Да кстати, если шарик летал очень быстро, то за его
успешную поимку можно получить не 1, а целых 2 или
даже 3 очка !

И напоследок скажу - Вы можете создавать даже свои
уровни, а также дополнения и модификации игры.
Подробнее.

Наверняка Вас мучал когда-нибудь вопрос: А как сделать свою игру ? С чего
начать ?

Можно конечно взять какой-то готовый движок и начать учиться делать
игры сначала на нём.

Но и в этом случае рано или поздно Вам понадобится изучать программирование.

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

Всем интересны истории успешных игр и их создания, но мало кто
пишет про то, как сложен и тернист этот путь. И совсем никто
не пишет как его пройти.

Однако выход есть - надеяться на себя и свои силы !
Не слушать "авторитетов" и "профессионалов".
Прислушиваться нужно, но слепо следовать их советам - НЕТ !

Почему ?

Да просто потому что у каждого из нас свой, уникальный путь.

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

Да ! Это отличный посыл. Так и надо держать.
Однако если Вы не будете ничего делать, ждать сложа
руки чего-то интересного в вашей жизни - то всё что Вы внушили
себе окажется простым самообманом.

Вместо этого - давайте возмёмся за дело - если
Вы еще не начали или продолжим совершенствовать ваши способности,
набираться опыта и главное - создавать красивое, интересное,
эффектное, то что Вы сделали сами и что радует глаз !

Игра - это не только то, во что мы играем, но и то, что кто-то создает.

А мы посмотрим на это изнутри !

Итак, можно изучить основы языка c++ и directx,
почитать про спрайты, игровые объекты,
системы координат, загрузку игровой сцены, перемещение в ней персонажа, проверка столкновений,
создание игровых сцен, воспроизведение звуков и музыки и другие важные и нужные темы.

Список тем постоянно пополняется и расширяется.
Для себя Вы конечно же составите свой рабочий план -
список тем, которые ВАМ НУЖНО ОБЯЗАТЕЛЬНО ИЗУЧИТЬ,
ДЛЯ ТОГО ЧТОБЫ СДЕЛАТЬ СВОЮ ИГРУ.

А следующая наша тема будет про самые основы - использование переменных в игре на c++ directx 9c.
Экспериментировать мы будем на реальной игре - Шарики и Ямки, вводя туда что-то новое
и одновременно осваивая нужный материал.





Шарики и Ямки / Balls and Holes игра PC версия 03.07.2017 скачать







Версия: 03.07.2017

Шарики и Ямки: Каникулы Зеленого Шарика.

Сумасшедший Дэйв из игры Растения против Зомби в гостях у Кости Коробкина.

Костя Коробкин вынужден спасаться от ядовитых горошин.

В игре используется новая технология рассредоточения внимания.

Это значит, что Игрок получает задачи, которые нужно решать одновременно.

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

Системные требования:

Windows XP / 7 / 8 / 10
directx 9c
~740 Mb свободного места на носителе информации.

Размер самораспаковывающегося архива: 493 Mb

Контрольные суммы для проверки целостности скачанного архива:

CRC32: C9FE6254
MD5: 5D715D4C32DE1F78C299B20BA6F16995
SHA-1: 6A25CB6BA47B32870C553A722E0667BA82199565





подробнее

     
     
  Путешествие в мир 3d  
     
  [содержание] [назад] [страница 2] [далее]  
     
 
 
В данном уроке - Путешествие в мир 3d мы попробуем создать небольшую сцену, включающую земной холмистый рельеф, небесный фон, деревья, траву, участок железной дороги и товарный вагон В данном уроке - Путешествие в мир 3d мы попробуем создать небольшую сцену, включающую земной холмистый рельеф, небесный фон, деревья, траву, участок железной дороги и товарный вагон - щелкнув по изображению можно загрузить полномасштабный вариант
 
Для нашей работы мы будем использовать 3ds max 7.0 и photoshop cs2, если у Вас версии выше или ниже - ничего страшного. Никаких особых изменений Вы скорее всего не обнаружите, ну а уж если обнаружите - пишите вопрос мне или на форум
 
 
Сохраняем на всякий случай свою работу - File > Save As и задаем имя и нужную папку. Теперь запускаем Photoshop и рисуем текстуру для земной поверхности, я рекомендую внутри папки, куда Вы сохранили только что рабочую модель сцены, создать подпапку, назвать textures, а внутри создавать подпапки - grass, ground, ground surface и т.д. и в них сохранять текстуры травы, земли, земной поверхности и т.д.
 
 
щелкните изображение земной поверхности для загрузки текстуры 2048х2048 пиксель
щелкните изображение земной поверхности для загрузки текстуры 2048х2048 пиксель
 
Создадим текстуры травы, земли и земной поверхности
 
трава - создаем изображение 512х512 пиксель и рисуем траву -
 
трава - создаем изображение 512х512 пиксель и рисуем траву - представленные варианты изображены кистью с последующей обработкой Осветлителем/Затемнителем и цветокоррекцией при помощи Уровней и Тон/Насыщенность
 
При помощи Кисти и разных оттенков зеленого изображаем куст травы
 
При помощи Кисти и разных оттенков зеленого изображаем куст травы
 
 
При помощи дублирования слоёв (контекстное меню панели слоёв > Дублировать слой), и трансформаций (Edit > Transform > Scale) - наращиваем густоту листьев, там же найдете горизонтальное отражение - Flip horizontal
 
 
Осветляем, затемняем, выполняем цветокоррекцию (для склеивания слоев используйте - Layer > Merge Layers и выделенные слои будут склеены в один) -
 
 
 
 
рисуем землю -
 
 
рисуем несколько комочков земли
 
 
клонируем, дублируем, масштабируем
 
 
секрет объема кроется в слое 2 - он был размыт при помощи Фильтр > Размытие > Размытие в движении - для наглядности в левом верхнем квадранте показан результат смешения всех слоев, справа вверху - три нижележащих слоя, слева внизу слой придающий объем и основа в правом нижнем
 
Наконец, используя 2 созданные текстуры - активно применяя инструмент Клон-Штамп создаем земную поверхность
щелкните изображение земной поверхности для загрузки текстуры 2048х2048 пиксель
 
в следующем уроке - накладываем созданную текстуру на модель земной поверхности в 3ds max
 
[содержание] [назад] [страница 2] [далее]
 
 
подробнее

Логика работы слайдера на javascript

В предыдущей статье - Пишем слайдер на javascript с нуля

я рассказал об основных моментах, которые включает алгоритм работы типичного слайдера.

Сейчас мы рассмотрим логику работы класса timedSlideShow

Как я уже упоминал в статье - Пишем слайдер на javascript с нуля

Логика описана в файле - timed.slideshow.js

Прокомментирую код, который Вы можете там увидеть.

Сразу замечу, что сохранить код всех необходимых файлов себе Вы можете просто сохранив данную страничку на свой компьютер из браузера.

// объявляем класс
var timedSlideShow = Class.create();

// описываем реализацию класса
timedSlideShow.prototype = {
// описываем реализацию функции initialize - инициализации
initialize: function(element, data) {

// текущая итерация
this.currentIter = 0;
// последняя итерация - будет нам служить для того, чтобы скрыть уже показанную картинку
this.lastIter = 0;
// максимально допустимая итерация - это индекс последней доступной картинки в массиве картинок нашего слайд-шоу
this.maxIter = 0;
// id контейнера всех html-элементов слайд-шоу - в нашем примере описаны в блоке div с id = mySlideshow
this.slideShowElement = element;
// массив данных, содержащих описания элементов слайд-шоу - в нашем примере этот массив находится в переменной mySlideData
this.slideShowData = data;
/* по-порядку: флаг показывающий, что инициализация уже сделана; контейнер для хранения массива элементов;
временная задержка в миллисекундах, определяющая скорость смены изображений в слайдере;
ссылка на статью; область показа информации об отображаемом изображении (подпись, описание)

*/
this.slideShowInit = 1;
this.slideElements = Array();
this.slideShowDelay = 4000;
this.articleLink = "";
this.slideInfoZone = "";

/* по-порядку: устанавливаем стиль отображения для блока слайд-шоу - блочный;
создаем элемент ссылка - вида <a href=""></a> для свойства ссылка ;
даем имя класса свойству ссылка - global
присоединяем этот элемент, как дочерний к объекту element
значение ссылки href пока выставляем в пустое значение - ""
*/
element.style.display="block";

this.articleLink = document.createElement('a');
this.articleLink.className = 'global';
element.appendChild(this.articleLink);
this.articleLink.href = "";
/* по-порядку: определяем длину блока данных;
выполняем цикл, перебирая все элементы начиная от i = 0 до последнего;
создаем div для переменной currentImg;
даем свойству className значение slideElement;
выставляем атрибуты отображения: позицию absolute, left и top отступы в 0, внешние отступы margin 0;
бордюр 0, фоновая картинка из массива data для данного элемента i из вложенного массива с индексом 0;
положение фоновой картинки - по горизонтали и вертикали - центр;
*/
this.maxIter = data.length;
for (i=0 ; i < data.length ; i++ )
{
var currentImg = document.createElement('div');
currentImg.className = "slideElement";
currentImg.style.position="absolute";
currentImg.style.left="0px";
currentImg.style.top="0px";
currentImg.style.margin="0px";
currentImg.style.border="0px";
currentImg.style.backgroundImage="url('" + data[i][0] + "')";
currentImg.style.backgroundPosition="center center";

/* по-порядку: вставляем созданный блок для currentImg в блок articleLink;
выставляем полупрозрачность, используя класс fx.Opacity из библиотеки mootools;
полупрозрачность в 0;
и вставляем блок изображения в массив slideElements с индексом i;
*/
this.articleLink.appendChild(currentImg);
currentImg.currentOpacity = new fx.Opacity(currentImg, {duration: 400});
currentImg.setStyle('opacity',0);
this.slideElements[parseInt(i)] = currentImg;
}

/* по-порядку: создаем блок div для загружаемого элемента loadingElement;
даем классу стиля соответствующее имя;
добавляем созданный элемент как дочерний в объект articleLink;
для slideInfoZone - информационной области слайдера поступаем аналогично;
и еще выставляем полупрозрачность opacity в 0;

вызываем метод doSlideShow;
*/
this.loadingElement = document.createElement('div');
this.loadingElement.className = 'loadingElement';
this.articleLink.appendChild(this.loadingElement);

this.slideInfoZone = document.createElement('div');
this.slideInfoZone.className = 'slideInfoZone';
this.articleLink.appendChild(this.slideInfoZone);
this.slideInfoZone.style.opacity = 0;

this.doSlideShow();
},
/* по-порядку: метод вызываемый при уничтожении объекта класса слайд-шоу;
создаем переменную со значение имени класса-стиля (класс, который описывается в стилях css) для element;
создаем в переменной newElement блок div ;
даем ему полученное имя класса-стиля;
в родительском элементе заменяем старый элемент новым;
*/
destroySlideShow: function(element) {
var myClassName = element.className;
var newElement = document.createElement('div');
newElement.className = myClassName;
element.parentNode.replaceChild(newElement, element);
},
/* по-порядку: метод запуска слайд-шоу - ;
скрываем показ загружаемого элемента;
последний элемент получает значение максимального за вычетом единицы;
текущий - 0;
инициализация - не выполнена;
непрозрачность текущего элемента - 1;
создаем обработчик для вызова метода showInfoSlideShow при событии по таймеру и выставляем интервал в 1000 миллисекунд;
аналогичный обработчик для метода hideInfoSlideShow, но с другим интервалом - this.slideShowDelay-1000;
и для метода nextSlideShow - аналогично с указанным интервалом для this.slideShowDelay ;
*/
startSlideShow: function() {
this.loadingElement.style.display = "none";
this.lastIter = this.maxIter - 1;
this.currentIter = 0;
this.slideShowInit = 0;
this.slideElements[parseInt(this.currentIter)].setStyle('opacity', 1);
setTimeout(this.showInfoSlideShow.bind(this),1000);
setTimeout(this.hideInfoSlideShow.bind(this),this.slideShowDelay-1000);
setTimeout(this.nextSlideShow.bind(this),this.slideShowDelay);
},
/* по-порядку: метод показа следующего изображения слайд-шоу ;
последняя итерация получает значение текущей ;
текущая увеличивается на 1 ;
если текущая больше или равна максимальной, то ;
текущая в 0 ;
последняя - в максимальную за минусом 1 ;
флаг инициализации в 0 ;
привязка вызова метода doSlideShow к обработчику this
*/
nextSlideShow: function() {
this.lastIter = this.currentIter;
this.currentIter++;
if (this.currentIter >= this.maxIter)
{
this.currentIter = 0;
this.lastIter = this.maxIter - 1;
}
this.slideShowInit = 0;
this.doSlideShow.bind(this)();
},
/* по-порядку: метод выполнения слайд-шоу;
инициализировано ли слайд-шоу ?;
да - создаем объект Image ;
если изображение уже однажды предзагружено - запускаем слайд-шоу;
источник для предзагруженного изображения берем из slideShowData[0][0];

нет - если текущая итерация != 0, то выставляем событие для изменения непрозрачности onComplete на созданную функцию, внутри которой непрозрачность выставляется в 0 для предыдущего элемента;
для текущего элемента непрозрачность выставляем в диапазон изменения от 0 до 1;
если текущая итерация == 0, то непрозрачность текущего в 1, ;
непрозрачность предыдущего должна меняться от 1 до 0;
выставляем вызовы методов showInfoSlideShow, hideInfoSlideShow, nextSlideShow по событиям от таймера при заданных интервалах;
*/
doSlideShow: function() {
if (this.slideShowInit == 1)
{
imgPreloader = new Image();
imgPreloader.onload=function(){
setTimeout(this.startSlideShow.bind(this),10);
}.bind(this);
imgPreloader.src = this.slideShowData[0][0];
} else {
if (this.currentIter != 0) {
this.slideElements[parseInt(this.currentIter)].currentOpacity.options.onComplete = function() {
this.slideElements[parseInt(this.lastIter)].setStyle('opacity',0);
}.bind(this);
this.slideElements[parseInt(this.currentIter)].currentOpacity.custom(0, 1);
} else {
this.slideElements[parseInt(this.currentIter)].setStyle('opacity',1);
this.slideElements[parseInt(this.lastIter)].currentOpacity.custom(1, 0);
}
setTimeout(this.showInfoSlideShow.bind(this),1000);
setTimeout(this.hideInfoSlideShow.bind(this),this.slideShowDelay-1000);
setTimeout(this.nextSlideShow.bind(this),this.slideShowDelay);
}
},
/* по-порядку: метод показа инфо-области для слайд-шоу;
удаляем дочерний элемент;
создаем див;
создаем стиль для инфо-области на основе класса fx.Styles mootools;
непрозрачность в 0;
создаем блок h2;
вставляем в него подпись для текущего изображения слайдера в инфо-области;
и делаем полученный объект дочерним для инфо-области;
для описания создаем блок p;
и аналогично добавляем туда текст описания;
для объекта ссылки articleLink.href указываем корректную ссылку;
для инфо-области задаем имя класса стиля;
определяем нормальную высоту блока slideInfoZone;
задаем изменение непрозрачности и высоты в заданных пределах: непрозрачность от 0 до 0.7, высота от 0 до нормальной;
*/
showInfoSlideShow: function() {
this.articleLink.removeChild(this.slideInfoZone);
this.slideInfoZone = document.createElement('div');
this.slideInfoZone.styles = new fx.Styles(this.slideInfoZone);
this.slideInfoZone.setStyle('opacity',0);
var slideInfoZoneTitle = document.createElement('h2');
slideInfoZoneTitle.innerHTML = this.slideShowData[this.currentIter][2]
this.slideInfoZone.appendChild(slideInfoZoneTitle);
var slideInfoZoneDescription = document.createElement('p');
slideInfoZoneDescription.innerHTML = this.slideShowData[this.currentIter][3];
this.slideInfoZone.appendChild(slideInfoZoneDescription);
this.articleLink.appendChild(this.slideInfoZone);
this.articleLink.href = this.slideShowData[this.currentIter][1];
this.slideInfoZone.className = 'slideInfoZone';
this.slideInfoZone.normalHeight = this.slideInfoZone.getStyle('height', true).toInt();
this.slideInfoZone.styles.custom({'opacity': [0, 0.7], 'height': [0, this.slideInfoZone.normalHeight]});
},
/* метод скрытия инфо-области - просто выставляем пределы изменения непрозрачности от 0.7 до 0;
*/
hideInfoSlideShow: function() {
this.slideInfoZone.styles.custom({'opacity': [0.7, 0]});
}
};

/* функция инициализации слайд-шоу - создаем экземпляр класса timedSlideShow в переменной slideshow;
*/
function initTimedSlideShow(element, data) {
var slideshow = new timedSlideShow(element, data);
}
/* функция добавления обработчика нового события в обработчик события при загрузке страницы onLoad (window.onload);
старый обработчик запоминаем в переменной;
если тип обработчика не функция выставляем его на новую функцию func, ;
если же функция - создаем новую - включающую вызов старой и новой функций обработчика;
*/
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
Уф, Мы с Вами проделали большую работу: я по комментированию кода слайдера, а Вы по чтению данной статьи :)))

Я надеюсь описанная информация была Вам полезной.

Чтобы не быть голословным, хочу сказать, что Вы можете приобрести готовый модуль для слайдера, который включает весь описанный функционал,
плюс функционал на php для загрузки списка изображений для слайдера из текстового файла-списка, а также небольшую cms, которая покажет
Вам пример работающего сайта с уже подключенным слайдером -
Модуль слайдера + megainformatic cms express files

Спасибо за внимание !!!

Если Вам интересны другие продукты моего сайта или Вы хотите заказать разработку какого-либо специфического решения для web или просто хотите создать сайт под ключ - обращайтесь буду рад сотрудничеству !!!

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



Пожалуйста войдите на сайт - Вход

или пройдите процедуру регистрации - Регистрация

megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,0936