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


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

megainformatic - Онлайн Обучение, Репетитор
           
подробнее...

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

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

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

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

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

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

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

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

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

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

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

megainformatic - Примеры моих работ

megainformatic - Музыкальные темы

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

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

megainformatic - Онлайн Обучение, Репетитор

megainformatic - Уроки Photoshop - Рисуем и Анимируем

megainformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

megainformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

megainformatic - DirectX 9c - Изучаем пример MultAnimation

megainformatic - megainformatic cms Система Управления Контентом

megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - как создать инсталлятор для собственной cms

megainformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

megainformatic - выпадающее меню на html и css

megainformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

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

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

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

megainformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

megainformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

megainformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

megainformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

megainformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

megainformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

подробнее

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

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

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

Теперь перейдём к практике, т. е. написанию кода.

Прежде всего добавляем пункт меню в личном кабинете, который будет отвечать за показ раздела ПРЕДЛОЖЕНИЯ.

В модулях всех ролей, например admin.php, employer.php и других прописываем примерно такой код -

case 'predlojenia': {
include_once "predlojenia.php";
break;
}

Также добавляем соответствующий пункт меню в личном кабинете.

<a href="employer.php?rdk=predlojenia">Предложения</a>

Теперь собственно переходим к реализации модуля predlojenia.php для личного кабинета.

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

///////////////////////////////////////////////////////////////
//
// функции
//эта часть модуля будет содержать все необходимые функции для внутреннего использования в пределах самого модуля.

//например так -

//элементы управления предложениями
function show_list_ctrl_elems()
{
$view = '<table width="100%" cellpadding="0" cellspacing="0" border="0">';

$view .= '<tr>
<td width="90"> </td>
<td width="90"> </td>
<td> </td>
</tr>';

$view .= '<tr>
<td><input type="submit" name="new" value="Создать"></td>
<td><input type="submit" name="change" value="Изменить"></td>
<td><input type="submit" name="del" value="Удалить"></td>'.
'</tr>';
$view .= '</table>';

return $view;
}

///////////////////////////////////////////////////////////////
//
// исполнение

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


include_once "entry.php"; //подключаем модуль проверки залогиненности в личном кабинете
include_once "predlojenia_outer.php"; //подключаем модуль внешних функций, которые будут использованы и во фронтальной части сайта

echo "<div class='container' style='position: relative; z-index: 1;' align='center'>";

//выводим меню в зависимости от роли
switch ( $role_name )
{
case 'admin': {
include_once "admin_menu.php";
break;
}

case 'employer': {
include_once "roles/employer/menu.php";
break;
}

}

echo "ПРЕДЛОЖИТЬ СВОЙ ПРОЕКТ - ".$role_name."<br><br>

<div style='float: left; width: 100%; position: relative; z-index: 1;'>";

$p_list = load_p_list('../');
$p_list_count = count($p_list);
$p_list_view_tbl = show_p_list_tbl($p_list);

echo "<table width='100%' cellpadding='0' cellspacing='0' border='0' bgcolor='#dddddd'>
<tr>
<td colspan='3'>Добро пожаловать в ".$system_name." !<br>Вы можете создать или изменить свой проект (предложение)<
br><br></td>
</tr>

<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>";

$form_action = '';
$p_properties_page = '';
//echo do_action_with_p_list($form_action, $p_properties_page);

switch ( $form_action )
{
case 'new':
case 'change':
{
echo $p_properties_page;
break;
}

default: {
echo " <form name='".$module."' id='".$module."' action='".$module_name."?module=".$module."' method='post'>";

echo show_list_ctrl_elems();
echo $p_list_view_tbl;

echo " </form>";
}
}

echo "<table width='100%' cellpadding='0' cellspacing='0' border='0' bgcolor='#dddddd'>
<tr>
<td><a href=\"logout.php\">Выйти</a></td>

<td> </td>
<td> </td>
</tr>

</table>
</div>";
echo "
</div>
";

Собственно это был прототип, описывающий все базовые элементы модуля предложений.

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

Здесь я их приводить не буду в целях экономии времени.

Но если они Вас интересуют - обращайтесь

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

http://webjob.megainformatic.ru

И все-таки спешу Вас обрадовать - в следующей статье Мы с вами рассмотрим реализацию модуля для хранения предложений в csv-файле.

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

подробнее

Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 14

Онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as).

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

Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (- интерактивный комикс (kk as) - онлайн комикс - страница 14

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1][страница 2] [страница 3] [страница 4] [страница 5] [страница 6] [страница 7] [страница 8] [страница 9] [страница 10] [страница 11]  [страница 12] [страница 13]  [страница 14]  [страница 15]

подробнее

     
     
  Технологической основой разработки всех проектов Мега Информатик является свободная библиотека DELPHI DIRECTX 8.1. Её код был существенно расширен и дополнен для использования в реальных игровых проектах и используется для создания современных 2d и 3d игр.  
     
  Библиотека Delphi DirectX 8.1  
     
 
[downloads:10]
 
     
 

Библиотека разработчика игр на delphi 7, 2006 directx 8.1

Объем архива 771 Кб

Системные требования: Windows 98SE/2000/Me/XP Celeron 997/128 Mb Ram/32 Mb Video/
около 4 Mb места на диске/клавиатура, мышь

При помощи данной библиотеки были созданы игры:

 
     
  Donuts3D - подробнее...
Ну, Погоди! - подробнее...
Нечто: Необъяснимое - в плену желаний - подробнее...
Нечто: Необъяснимое - подробнее...
Пример 3D-игры Scene2Game -
[downloads:8]

Для использования данной библиотеки Вам также потребуются:

- Microsoft DirectX SDK любой версии, откуда Вы будете черпать информацию о создании игр
под DirectX;
- Среда разработки Delphi 7 или 2006, можно одной из последних версий;

Библиотека позволит Вам создавать свои игры на Delphi для DirectX 8.1 и выше.

Целый ряд уроков - Уроки Delphi DirectX 8.1,
а также примеры с полным исходным кодом игр помогут Вам
быстрее и эффективнее научиться создавать собственные игры в delphi directx

Несколько слов об использовании библиотеки:

Delphi DirectX 8.1 проста в использовании. Распакуйте содержимое архива на
диск, откройте файл readme.txt расположенный внутри созданной папки с библиотекой
и прочтите как настроить Ваш проект для использования файлов с исходным кодом
из библиотеки - для этого достаточно корректно указать пути к файлам библиотеки.

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

Аннотация

Библиотека разработчика игр на delphi 7 directx 8.1

Архив содержит среду разработки delphi 7, microsoft directx sdk 8.1, адаптированные
для delphi 6-7 заголовочные файлы из dx sdk 8.1

Исходный код игровых проектов 2d и 3d игр на delphi, необходимые файлы и статьи
вы сможете найти на сайте проекта Мега Информатик


Краткое введение в delphi directx

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

Но есть и другой путь. Это использование старого, позабытого софта.
Почему все так гонятся за новинками? Новыми версиями Программ? Чем
они лучше старых, проверенных временем?

Ответ очевиден. Старый софт возможно отслужил свое и ему пора на покой...

Новый софт создается на основе и c использованием старого, доброго, проверенного
временем.

И самое главное - новый софт стоит денег и иногда немалых. Старый софт
можно найти в сети и получить почти даром. Вопрос только где и какой.

Данный пакет позволит использовать софт delphi 7, directx sdk 8.1 проверенный временем,
к тому же он поддерживает разработку для всей линейки операционных систем
Windows от 98 до XP.

Но не это главное. Главное - это Ваш отправной пункт, стартовая точка для
тех, кто решил попробовать создавать свои игры.

Освоив delphi directx Вы сможете скачивать новый софт и обновлять свои
исходники и готовые модули под него.

Итак, Что же такое Delphi DirectX ?

Delphi DirectX - это библиотека исходных файлов из DirectX SDK переписанных на Объектном Паскале и позволяющая создавать собственные компьютерные игры в среде Delphi для платформы DirectX. При этом знание С++ совсем не потребуется (хотя приветствуется для тех, кто хочет что-то еще переделать из C++ DirectX SDK).

К сожалению, несмотря на пропагандируемую мультиязычность DirectX, в оригинальном DirectX SDK 8 и 9 версий описано и предлагается использользование только языков C++ и C#. Использование других языков ложится на плечи тех, кто занимается этими языками и потребует переделки С++ кода на тот язык, на котором требуется создавать игру.

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

Исходный код библиотеки Delphi DirectX свободно распространяемый и является плодом труда не только автора (Мега Информатик), но и многих других людей. Именно благодаря усилиям энтузиастов Delphi DirectX получил жизнь и появился на свет. Корни его идей лежат в библиотеке Хироюки Хори - DelphiX. Но она уже не поддерживается и не развивается самим автором, а только усилиями отдельных энтузиастов. К тому же она уже не удовлетворяет требованиям времени - рассчитана только на DirectX 7 и 2D-игры. Подойдет она в основном начинающим, т.е. тем, кто еще только учится писать свои игры на Delphi.

 
     
  работа в delphi directx  
     
  delphi directx  
     
  утилита Coords2D  
     
подробнее

     
  [Назад] [Все уроки] [Далее]  
     
 

12/06/2008 Воспроизведение файлов в форматах *.it, *.xm, *.s3m, *.mod

Для воспроизведения используется интерфейс для библиотеки FMOD 3.75 (c) Firelight Technologies Pty, Ltd,
1994 - 2004 http://www.fmod.org

Автор конверсии на Delphi - Dragan Bocevski.

Полный список понимаемых библиотекой FMOD 3.75 файлов -

*.MOD;*.S3M;*.XM;*.IT;*.MID;*.RMI;*.SGT;*.WAV;*.MP2;*.MP3;*.OGG;*.WMA;*.ASF

 

Чем FMOD 3.75 отличается от miniFMOD?

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

FMOD 3.75 также распространяется на бесплатной основе, но возможности его несоизмеримо шире. Заметно, что качество звука воспроизводимого трека гарантированно выше, а возможности по настройкам и регулировкам - все какие только нужны: громкость, списки воспроизведения, регулировка позиции воспроизведения по паттернам, спектральный анализатор звуковой волны и многое другое, что потянет на использование уже не только в игровом проекте, но и для написания собственного медиа-плеера наподобие ModPlugPlayer или даже тректера наподобие ModPlugTracker. Правда следует отметить, что ModPlugPlayer и ModPlugTracker написаны совсем на другой основе (по крайней мере не на основе FMOD), хотя и используют те же ставшие стандартом де-факто трекерские форматы - *.it, *.xm, *.s3m, *.mod и еще целый ряд подобных им.

 

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

Вполне можно, разработчики современного FMOD версии 4.17 пошли еще дальше и разработали формат OXM, который еще более компактен чем оригинальные XM-файлы за счет сжатия сэмплов в формате ogg. Если Вам это нужно, то можете использовать самые свежие версии FMOD.

Мы же здесь ограничимся рассмотрением использования версии FMOD 3.75 в игровом проекте Нечто: Необъяснимое.

В этом проекте планируется использовать OggVorbis преимущественно для воспроизведения длинных речевых диалогов. FMOD 3.75 - для воспроизведения оригинальных музыкальных треков в форматах *.it, *.xm и других.

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

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

Поскольку FMOD 3.75 умеет открывать и воспроизводить и файлы в формате OggVorbis, то использование отдельной библиотеки и ее файлов не потребуется!

 
Что нужно для использования FMOD 3.75 ?
 

В первую очередь, конечно, нужно создать свои треки, например в ModPlugTracker 1.16. Есть и несколько уроков, посвященных этой проблеме - введение в трекерскую музыку, введение в ModPlugTracker 1.16 и ряд других. Если файлы содержат речь или длинные наборы звуков, то их нужно пересохранить в более компактном формате - сначала экспортировать в Wav или mp3, а затем в Ogg. Поскольку FMOD 3.75 понимает и mp3 файлы, то можно оставить в формате mp3. Однако это целесообразно делать только для записей речи. Музыкальные файлы в трекерских форматах (*.it, *.xm, *.mod, *.s3m) более компактны чем mp3 или ogg поскольку содержат только наборы сэмплов и нот, а не непрерывную звуковую дорожку, которая должа играть на протяжении определенного времени как это имеет место в wav, mp3 и ogg. Правда mp3 и ogg позволяют сильно сократить объем по сравнению с wav. Но все-равно они проигрывают в объеме трекерским файлам.

Таким образом получается следующая картина - для коротких звуков лучше использовать формат wav, который легко воспроизводится средствами IDirectSound. Для более длинных звуков или записей речи нужно использовать mp3 или ogg. И наконец музыку, написанную в трекере можно использовать в своем собственном формате, учтя лишь тот факт, что размеры входящих в мелодию сэмплов должны быть не слишком большими, чтобы общий объем не превышал скажем 4Mb, а то и еще меньше. Иначе дистрибутив игры, особенно распространяемой через сеть, разрастется до непомерных размеров, а это актуально лишь для CD и DVD-версий игры. Игры же распространяемые по сети желательно делать как можно меньшими.

 
На заре создания сайта Мега Информатик автором уже был создан компонент SXModPlayer2 на основе библиотеки MPPSDK.DLL, но по некоторым причинам - качество звука и некоторые ограничения не дают возможности полноценно использовать его в качестве успешного плеера музыки в игровых проектах. Главным образом из-за отсутствия открытого кода по библиотеке mppsdk.dll. Есть правда открытый код ModPlugTracker 1.16, но он написан на C++, знатоком которого автор к сожалению не является.
 
По этим причинам разыскивался аналогичный компонент и им стал FMOD 3.75.
 
Итак, перейдем к рассмотрению работы с библиотекой FMOD 3.75
 

Для начала разберемся как это сделано в примере из дистрибутива http://www.fmod.org/index.php/release/version/fmodapi375win.zip -

допустим мы распаковали содержимое данного архива в папку fmodapi375win\

тогда мы рассмотрим сейчас реализацию примера из папки -

fmodapi375win\samplesdelphi\FMod

 

Здесь находится файл проекта testbed.dpr который без проблем открывается из Delphi 7.

Открываем этот файл из Delphi.

 
В опциях проекта указываем ссылку на папку Search path - ..\..\api\delphi; (Project > Options > Directories\Conditionals)
 
 

Из папки fmodapi375win\api копируем файл fmod.dll в папку fmodapi375win\samplesdelphi

В опциях проекта в поле Output directory укажите ..\ (см. рисунок) для того, чтобы скомпилированный exe-файл попал в папку fmodapi375win\samplesdelphi уже содержащую необходимую ему dll.

 

Нажимаем ОК, выполняем компиляцию.

Если всё сделано верно Вы должны получить следующее сообщение -

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

Если нет, то вот что нужно сделать -

Дело в том, что в данном массиве содержится на 1 меньше элемент, чем описано в его начале. Просто найдите тип TFSoundOutputTypes и обратите внимание какие константы описаны там.

Скопируйте элемент FSOUND_OUTPUT_PSP, вставьте его в массив OutputTypes который давал ошибку, заключив в кавычки и вставив после 'FSOUND_OUTPUT_GC' -

'FSOUND_OUTPUT_PSP',

Сохраните и снова откомпилируйте проект. Теперь результат должен быть ОК.

 
Запустите полученный в папке fmodapi375win\samplesdelphi файл testbed.exe
 
 
Откройте какой-либо трекерский файл (*.it, *.xm, *.s3m или *.mod) нажав кнопку Load. Если под рукой нет ничего подходящего можете скачать примеры треков.
 
Теперь можете нажать кнопку Play и попробовать регулировать громкость, переключаться на последующие паттерны (-/+). Можно щелкнуть по окошку спектрального анализатора - Click for spectrum. Кнопочка Config позволит Вам выбрать другое устройство (драйвер) воспроизведения звука и кое-какие параметры фильтрации.
 
Сравнив звучание одной и той же мелодии например в трекере ModPlugTraker, а затем в данном тестовом приложении приходим к выводу, что оно более чем превосходит все наши ожидания, в чём-то даже звучание превосходит оригинал.
 
Рассмотрим как реализованы вызовы интерфейсов FMOD 3.75 в примере данного приложения.
 

Проект testbed.dpr

Модуль main.pas

В методе создания окна формы - procedure TfrmMain.FormCreate

FMOD_Load(nil); метод загрузки динамической библиотеки - возвращает значение о том, загружена она или нет

Далее следует сравнение версий API в исходных файлах и версии библиотеки dll

{ Check version numbers }
if FMOD_VERSION > FSOUND_GetVersion then
begin
Application.MessageBox(PChar(Format('API version %3.2f is newer than DLL version %3.2f', [FMOD_VERSION, FSOUND_GetVersion])), 'Version mismatch', MB_OK or MB_ICONERROR);
Halt;
end;

Инициализируется FSound. FSound управляет параметрами звуковых буферов, в которые поступают результаты вывода звуковых потоков от FMusic. Т.е. объект FMusic получив it или ogg файл сначала выводит его в отведенный буфер производя микширование (в случае трекерского модуля) или декодирование в случае mp3 или ogg. Полученный в буфере кусочек звука воспроизводится средствами звука Windows или DirectSound - в зависимости от того, какой драйвер (устройство) для вывода звука будет выбрано.

Для начала выбираются настройки по умолчанию -

{ Initialize FSOUND }
try
if not FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND) then
//вывод через IDirectSound
raise Exception.Create('FSOUND_SetOutput failed');
if not FSOUND_SetDriver(0) then
//первое в списке устройство вывода
raise Exception.Create('FSOUND_SetDriver failed');
if not FSOUND_SetMixer(FSOUND_MIXER_QUALITY_AUTODETECT) then
//автоопределяемое качество микширования
raise Exception.Create('FSOUND_SetMixer failed');
if not FSOUND_SetHWND(Handle) then
//устанавливается обработчик окна приложения
raise Exception.Create('FSOUND_SetHWND failed');
except
Application.MessageBox(FMOD_ErrorString(FSOUND_GetError), 'Initialization', MB_OK or MB_ICONHAND);
raise;
end;

Если все прошло гладко, то FSound инициализируется со следующими параметрами - частота дискретизации микширования стерео-сигнала 22050 Гц, количество программных аудио-каналов - 128, флаги - 0

if not FSOUND_Init(22050, 128, 0) then
begin
Application.MessageBox(FMOD_ErrorString(FSOUND_GetError), 'FSOUND_Init', MB_OK or MB_ICONHAND);
Halt;
end;

 

Очищается список воспроизведения - количество файлов не должно превышать 512. К слову сказать, FMOD умеет выводить полифонию, т.е. файлы, содержащиеся в списке могут воспроизводиться одновременно! Это очень удобно, особенно с той точки зрения, когда нужно будет чтобы играла музыка и в то же время персонаж что-нибудь говорил. Это не потребует создания отдельных объектов fmod!

{ Initialize song list to empty }
for Index := 0 to MAX_SONGS - 1 do
begin
FSongs[Index].Module := nil;
FSongs[Index].Stream := nil;
FSongs[Index].Channel := -1;
end;

Номер текущего трека, число треков, состояние CD-плеера - FMOD умеет работать и с CD!!!

FTrackNumber := 0;
FNumTracks := 0;
FCDPaused := False;
FCDPlaying := False;

 

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

FSpectrum := TMiniSpectrum.Create(nil);
FSpectrum.Parent := pnlSpectrum;
FSpectrum.Align := alClient;
FSpectrum.Enabled := False;
FSpectrum.OnClick := pnlSpectrumClick;

 
Оставшиеся строки кода актуальны только для примера testbed.dpr
 
[далее] - продолжаем рассмотрение работы с FMOD 3.75 из проектов Delphi
 
[Назад] [Все уроки] [Далее]
 
     
     
     
     
 

Конструируем свой сайт - полезные статьи для начинающих строителей сайтов.

Как добавить созданный счетчик на все страницы Вашего сайта ?

 
     
 

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

 
     
 

1) Чтобы показания счетчика начали изменяться, а не глупо отображали лишь 1/1 нужно вставить в таблицу базы данных хотя бы 1 запись.

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

http://localhost/Tools/phpmyadmin/index.php

Т. е. со страницы PHPMyAdmin

 
     
 

После перехода на эту страницу Вам снова нужно выбрать базу данных нажав кнопку Databases и выбрав в таблице нужную.

Далее в столбце Action находим кнопку Insert и добавляем новую запись, заполнив поля необходимыми данными -

 
     
  вставка новой записи в таблицу базы данных  
     
 

2) Мы не рассмотрели собственно что делает созданный код -

<HTML>
<HEAD>
<TITLE>db</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>

Данные теги открывают HTML документ, описывают его HEAD - заголовок, тип, символьный набор для русских букв windows-1251, задают цвет фона страницы

#FFFFFF - белый, отступы - все по 0,

<?php

начало php-скрипта

if ($rc = mysql_connect("127.0.0.1", "admin", "Ji7yVasb2"))

соединяемся с базой данных по указанному адресу - 127.0.0.1, и используя имя пользователя admin и пароль Ji7yVasb2

{
$day = date("Y-m-d");

заносим в переменную $day текущую дату в формате Год-Месяц-День

mysql_select_db("counterdb");
$table = "visitors";

выбираем базу данных counterdb, задаем имя таблицы

$s = mysql_query("SELECT * FROM $table");

выполняем запрос - выборка всех данных из таблицы $table

$a = mysql_fetch_array($s);

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


$a[total] = $a[total] + 1;

поле total увеличиваем на 1

if ($day !==$a[currentday])
{
$a[currentday]=$day;
$a[today]=1;

если текущая дата не совпадает с датой в полученной записи, устанавливаем поле currentday в значение текущей даты, а поле today приравниваем к 1

}
else {
$a[today] = $a[today]+1;
}

иначе - увеличиваем поле today на 1

mysql_query("UPDATE visitors SET total = '$a[total]', today = '$a[today]', currentday = '$a[currentday]'");

обновляем данные по текущей записи в таблице visitors базы данных

echo "<table border=1 bordercolor=green><tr>
<td colspan=1 align=center>посетителей</td></tr>
<tr><td align=center>всего</td><td align=center>сегодня</td></tr>
<tr><td align=center>$a[total]</td>
<td align=center>$a[today] </td></tr></table>";

выводим данные о посетителях на страницу
}
else {
echo "Error!";
}

если произошла ошибка - выводим на страницу сообщение

?>
</BODY>
</HTML>

закрываем теги BODY и HTML

 
     
 

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

в том месте страницы, где вы хотите выводить счетчик нужно вставить такой код -

<?php
include "my_counter.php";

?>

где имя my_counter.php - это имя файла php-скрипта, которое Вы задали для Вашего счетчика

 
     
 

Конечно мы с Вами рассмотрели простейший счетчик.

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

НО! Зато мы рассмотрели достаточно подробно:

КАК РАБОТАТЬ С БАЗОЙ ДАННЫХ MySQL на Вашем сайте и

КАК РЕАЛИЗОВАТЬ ПРОСТЕЙШИЙ СЧЕТЧИК ДЛЯ СТАТИСТИКИ ПОСЕЩЕНИЙ САЙТА.

 
     
  Если Вы разобрались во всём этом - значит Вы уже сделали огромный шаг вперед в освоении PHP, MySQL и построении своего сайта !!!  
     
  Желаю Вам удачи на поприще сайтостроения !  
     
  Другие уроки можно посмотреть в разделе Статьи  
     
megainformatic live chat
Начать беседу
X
 

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



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


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