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


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

megainformatic - Учимся создавать флеш-игры, что нужно знать для того, чтобы заняться созданием flash приложений и игр ?
Учимся создавать флеш-игры, что нужно знать для того, чтобы заняться созданием flash приложений и игр ? В первую очередь Вам понадобятся инструменты - - Adobe Flash CS5 или выше; - среда разработки FlashDevelop; - набор разработчика FlexSDK; Для того, чтобы установить FlashDevelop вам нужно будет сначала установить JRE 1.6 32 бит - http://www.filehorse.c
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

megainformatic - Основы IDirectMusic8 в среде Delphi6-7

megainformatic - Основы DirectInput8 в среде Delphi 7

megainformatic - Основы DirectSound8 в среде Delphi6-7

megainformatic - Плагин для 3DS MAX из DX9 SDK

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

megainformatic - Уроки 3ds max - Введение в 3ds max

megainformatic - ГАЛЕРЕЯ 3D-моделей

megainformatic - СОЗДАНИЕ МАКЕТА ПОМЕЩЕНИЯ

megainformatic - Создание макета помещения - этап 2

megainformatic - МОДЕЛИРОВАНИЕ НА УРОВНЕ МНОГОУГОЛЬНИКОВ

megainformatic - СОЗДАНИЕ ПРЕДМЕТОВ ОБСТАНОВКИ ПОМЕЩЕНИЯ

megainformatic - Моделирование обстановки помещения

megainformatic - Создание модели автомобиля

megainformatic - Создание текстурной развертки для модели автомобиля

megainformatic - Создание анимации вращающихся колес автомобиля

megainformatic - игра Нечто: Необъяснимое и в плену желаний

megainformatic - Основы 3D-анимации, экспорт скелетной анимации

megainformatic - Подготовка модели к использованию скелетной анимации

megainformatic - Продолжаем Создание скелета для данной модели

megainformatic - Построение ирерархических связей между объектами и основы 3d анимирования

megainformatic - Особенности экспорта моделей и анимации экспортером kWXPort080719 из 3ds max 2009 

megainformatic - Создание модели броневика (Хэд)

megainformatic cms e-mailer

megainformatic cms e-mailer

megainformatic cms e-mailer

Бесплатная Система Управления Вашим Сайтом - megainformatic cms free

megainformatic - Путешествие в мир 3d

megainformatic - Путешествие в мир 3d - страница 2

megainformatic - Путешествие в мир 3d - страница 3

megainformatic - Путешествие в мир 3d - страница 4

megainformatic - Путешествие в мир 3d - страница 5

megainformatic - Путешествие в мир 3d - страница 6

megainformatic - Создание модели броневика (Хэд) - Анимация вращения колес

megainformatic cms express files

megainformatic cms express files

megainformatic cms express files

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

megainformatic cms express files - Развертывание сайта на Вашем хостинге

подробнее


Теория и практика хакерских атак - самозащита от нападения - Способы подмены реального IP

Эта тема, которую мы будем рассматривать достаточно опасна, и может привести вас на плохой путь. Поэтому будьте осторожны !

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

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

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

Если Вы боитесь за свои права и свободы то советую не читать дальше и остановиться на этом.

[СОДЕРЖАНИЕ]  [далее]

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

Сначала немного теории.

IP адрес имеет каждый инфообъект в сети - и пользователь, и сервер, и сайт.

Поэтому используя IP адрес инфообъекта можно однозначно определить его местонахождение.

Достаточно например набрать адрес сайта reg.ru, ввести исследуемый IP адрес и Вы получите по нему исчерпывающую информацию.

Однако существует масса способов, с помощью которых достаточно просто подменить свой реальный IP другим.

Самый простой способ подмены - один к одному

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

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

Если Вы думаете что это сложно - то поищите информацию на тему proxy server. :)))

[СОДЕРЖАНИЕ]  [далее]

подробнее

     
  [к содержанию] [назад] [далее]  
     
 

Создание фотореалистичной текстуры травы

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

Трава

Кровь под микроскопом

Древесная кора
Солома

 

Так что же такое текстура? Текстура – это повторяющийся узор или рисунок, который имеет свойство непрерывно покрывать заданные области изображения (формировать поверхности или фон) без каких-бы-то-ни-было заметных стыков. Такие изображения (текстуры) часто именуют Tile (тайл) – что как раз и подразумевает свойство непрерывности, в ограниченном размерами изображении.

За счет чего достигается такая непрерывность? Вот в этом мы сейчас и попробуем разобраться на практическом примере.

Попробуем создать изображение текстуры травы в Photoshop 7.

1.                            Создайте новый файл размером 256х256 пикселей (точек экрана) -

для этого выберите команду File > New и в открывшемся диалоговом окне задайте требуемый размер:

Обратите внимание!

Resolution – это соотношение пиксель/дюйм, учитываемое при распечатке на принтере. На размеры картинки не влияет.

ModeRGB Color соответствует цветному изображению.

Contents – определяет цвет наполнения (холст, фон) – Transparent – прозрачный фон – наиболее универсальный и нужный в данном случае нам!

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

 

  1. Обратите внимание на то, чтобы все контуры были замкнутыми. Это обстоятельство является важным, в противном случае Вы не сможете использовать выделение или заливку листьев куста!
  2. Т.к. фон у нас прозрачный (здесь на рисунке показан белый фон), то мы можем залить куст травы следующим образом: создайте новый слой – Layer > New > Layer или нажмите соответствующую кнопку на палитре слоев (см. урок 1)
  3. Измените цвет пера (foreground color) с черного на зеленый и выполните заливку созданного нового слоя.
  4. Ах! У Вас всё пропало. Но это еще не всё. Теперь в палитре слоев перетащите слой, залитый зеленым так, чтобы он располагался не над слоем с контурами травы, а под ним.

Что мы имеем: слой с контуром травы, а под ним слой с заливкой зеленым.

Почему мы не стали заливать сразу отдельные листочки?

Потому что при этом нужно было бы повторять операцию заливки несколько раз (для каждого листочка – замкнутого контура отдельно). В нашем случае мы сделали это за 1 шаг.

Однако возникает вопрос: Ведь в этом случае залиты не только листочки, но и задний план, т.е. фон вокруг куста.

Исправить это легко: нужно выделить волшебной палочкой пиксели вокруг куста и удалить выделенную область с нижележащего слоя. Но мы пока не будем этого делать. Сделаем это позднее (см. шаг 8).

  1. Чтобы контуры куста не были так резко выражены, попробуйте перейти на слой с контуром и сделать его слегка полупрозрачным, например около 20-35%.

В результате Вы увидите, что контуры станут больше сливаться с основным тоном – зеленым.

  1. Теперь можно попробовать удалить окружающий куст травы зеленый цвет – сделать фон вокруг куста прозрачным: для этого находясь на слое с контуром травы выберите инструмент Magic Wand и установите на панели свойств следующие параметры:

Это означает, что Обратная чувствительность (Tolerance) – будет использовать при выделении только 1 цвет, выделяться будет замкнутый контур.

  1. Щелкните волшебной палочкой (Magic Wand) фон рядом с кустом. В результате область вокруг куста станет выделенной.
  2. Опуститесь на нижний слой содержащий сплошную заливку зеленым и удалите выделенную область – клавишей [DELETE].

 

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

  1. Попробуем придать кусту более живой вид. Для этого воспользуйтесь инструментами Осветление и Затемнение

Dodge Tool – затемнение; Burn Tool – выжигание; Sponge Tool – губка.

В панели свойств каждого из этих инструментов Вы найдете следующие свойства:

Brush – размер и форма пера (кисти), используемого для выполнения операции осветления/затемнения/губки;

Range – диапазон воздействия – определяет оттенок получаемый при применении эффекта – теневой/средний тон/бликовый;

Exposure – сила воздействия.

 

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

Слишком большая достоверность игры теней и бликов не требуется, т.к. мы сейчас отмасштабируем размер куста, уменьшив его в 8 раз, т.е. до размеров 32х32. Замечание – если Вы заметили, что Ваши усилия не дают результатов – не появляется ни бликов ни теней – обратите внимание на каком слое Вы работаете. Работать надо на слое содержащем закрашенные зеленым листья. Если Вы работали на слое, содержащем контур, то это и не давало эффекта, т.к. кроме контуров все остальное на данном слое – «пустой» прозрачный цвет.

  1. Image > Image size и задайте размер 32х32.
  2. Мы получим небольшой, достаточно компактный кустик. Теперь, используя его и инструмент Клон-Штамп

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

Что нужно сделать, более детально:

Создать новый файл – 256х256 с прозрачным фоном.

Переключиться на файл с изображением маленького куста.

Выбрать инструмент Клон-Штамп и с клавишей [Alt] щелкнуть левой кнопкой мыши – запомнить изображение куста. Размер пера, если куст не попадает в него целиком, нужно увеличить.

Переключиться на изображение 256х256 и щелкая левой кнопкой рассаживать кусты. Если кусты не рассаживаются уберите флажок: Aligned – чтобы отключить привязку в первой поставленной копии.

 

В результате может получиться что-то наподобие этого:

Обратите внимание, что фон уже непрозрачный, т.к. прозрачный фон это атрибут только PSD файлов – рабочих файлов Photoshop, любой другой формат требует задания в качестве фона какого-то конкретного цвета. На рисунке как раз и показан такой случай – с JPG файлом.

 

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

 

После сохранения файла (File>Save As и указать имя файла, а также место для сохранения – см. урок 1)

Можно попробовать задать изображение в качестве шаблона (Pattern) и попробовать им что-нибудь залить, например тестовое изображение размеров 1024х768 (одно из стандартных разрешений экрана).

 

Для задания шаблона: изображение с травой должно быть текущим, выберите команду Edit > Define Pattern.

Затем ОК.

После этого можно закрыть файл с изображением и попробовать текстурную заливку:

Создайте новый файл – 1024x768.

Выберите инструмент Ведро (Paint Bucket) и в панели свойств задайте режим Pattern (Шаблон).

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

Выполните текстурную заливку.

Вы заметите, что Ваша текстура имеет резко выраженные швы.

Как сделать текстуру бесшовной (Tile)?

 

 
     
  [к содержанию] [назад] [далее]  
     
     
подробнее

Логика работы слайдера на 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 web job предложения о работе, фриланс заказы

megainformatic.ru/webjob

В нашей команде

- сценарист;

- контент-менеджер;

- менеджер проектов;

- дизайнер - photoshop, corel draw, 3ds max;

- программист c++, delphi, андроид;

- веб программист php/js/html/css/mysql;

- музыкант;

- звукорежиссер;

- генератор вредных идей и советов;

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

Это можно сделать несколькими способами:

Оставьте своё сообщение через форму Комментария ниже.

Напишите по одному из наших Контактов.

Можно также оставить сообщение через форму Возник вопрос Нажми.



Нам будут интересны следующие кандидаты:

Кто Вы и чем хотите заниматься ?

Какой у вас опыт ?

Примеры реализованных вами проектов ?



Что Вы получите работая с нами.

Возможность разрабатывать и продвигать новые, интересные и перспективные проекты.

Пополните свои знания и опыт, расширите кругозор.

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

Вы серьезны, целеустремленны, полны сил и готовы к покорению новых вершин ? Тогда нам по пути !



Предложить задачу, проект



megainformatic web job предложения о работе, фриланс заказы

megainformatic.ru/webjob

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

Или оставить сообщение через форму комментариев ниже.

Просьба не тратить время и не оставлять всякую саморекламу и прочий неадекватный спам.

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

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



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

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

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

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



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


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