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


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

megainformatic - Тестирование подключения к платежной системе с использованием скрипта эмулятора
Тестирование подключения к платежной системе с использованием скрипта эмулятора Доброго времени суток Вам, читающим эти строки !У меня в данный момент вечер - 20:28. Сегодня я расскажу Вам как протестировать подключенную к сайту платежную систему если она не имеет тестового режима платежей. Эту работу Мы с Вами рассмотрим на готово
подробнее...

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

megainformatic - Портфолио выполненных проектов сайтов и приложений

megainformatic - Мои Музыкальные Миры - страница 2

megainformatic - megainformatic cms rs

megainformatic - модуль Падающий снег

megainformatic - проект Open Shop

megainformatic - Рисуем красивую девушку всего за 6 шагов

megainformatic - Галерея красивых рисованных девушек

megainformatic - НОВОГОДНЕЕ ОБРАЩЕНИЕ СОЗДАТЕЛЯ webinformatic К ЖИТЕЛЯМ ПЛАНЕТЫ интернет

megainformatic - Отзывы оставленные пользователями как впечатление о проделанной работе или что-либо понравившееся на сайте

megainformatic - Уроки css - атрибут position

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - СОДЕРЖАНИЕ

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 1 - Обычный день

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 2 - Начало (begin)

Новогодняя дискотека 2013 на megainformatic точка ru

megainformatic - Программируем на C++ с использованием MFC

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения - hello, world !

megainformatic - Как создать игру ? - Пишем игровой движок с нуля

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Вступление

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Общая структура будущего игрового движка

Разное

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - DXUTMainLoop - цикл работы DirectX-приложения

megainformatic - Варианты макетов Психолог 911

megainformatic - Шаблоны для сайтов - что это и какие они бывают ?

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 3 - Кто он ? (who is ?)

megainformatic - Мои Музыкальные Миры - готовая музыка mp3 - новинки 2013 года

megainformatic - Теория и практика хакерских атак - самозащита от нападения

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

megainformatic - Fruity Loops Studio 9 - Как синтезировать свои сэмплы - изучаем возможности плагина Sytrus

megainformatic - Видоизменяем тему для Wordpress под свои нужды

megainformatic - Flash приложения и игры - Шаг 3 - управляемый шарик

megainformatic - Учимся создавать флеш-игры, что нужно знать для того, чтобы заняться созданием flash приложений и игр ?

megainformatic - Шаг 4 в освоении Flash-технологий - как анимировать персонажа и управлять им

megainformatic - Форма для смены шаблонов сайта. Модуль template selector

megainformatic - megainformatic cms express files + module slider

megainformatic - Создание сайта бесплатно или под заказ

megainformatic - Как создать flash баннер

megainformatic - Разработка flash-приложения для сайта: онлайн примерочная

megainformatic - Мои впечатления о книге - Владислав Крапивин - Журавленок и Молнии

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль короткие ссылки short link

megainformatic - Работа с сокетами fsocket из php

megainformatic - Как создать игру Создание игровых панелей и индикаторов

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс

megainformatic - Система управления сайтом на php - megainformatic cms admin files

megainformatic - обзор антивирусных средств защиты

megainformatic - как работает антивирус ?

megainformatic - Создание сайта для бизнеса

megainformatic - Новый взгляд на очевидные вещи

megainformatic - Разработка программ на c++

megainformatic - Немного о музыке

подробнее

     
 
Урок 2 Создаем и обрабатываем команды меню. Реализуем вывод текстуры в рабочую область D3D.
 
О том, что потребуется для данного урока читайте в основном разделе - уроки delphi directx 8.1
 
Далее у читателя подразумевается наличие базовых знаний языка Delphi.
 
[назад] [страница 2] [далее] [к содержанию]
 

В качестве основы мы возьмем исходный код шаблона стартового приложения Delphi DirectX 8.1 (или сокращенной D3D-приложения), который мы создали в предыдущем уроке

Но помните, что для его компиляции Вам нужна и сама библиотека Delphi DirectX 8.1 (папка с общим кодом)

или исходный код игры "Ну, Погоди!" с включенной обновленной библиотекой Delphi DirectX 8.1 (поддержка русских букв, 2D анимация и некоторые другие возможности).

 

Несколько важных замечаний.

Особенности создания и обработки пунктов меню Опции > Подсказка; Опции > Показ FPS

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

Самым простым по реализации является пункт меню Выход (Exit). Вот реализованный код его обработчика -

procedure TMainForm.ExitGameMenuClick(Sender: TObject);
begin

Close;
end;

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

 

При создании и реализации пунктов меню Опции > Подсказка; Опции > Показ FPS нужно учесть следующую особенность.

Для данных пунктов меню нужно установить свойство Checked в true во время их создания.

Для обработки данных пунктов меню применяется следующий обработчик:

procedure TMainForm.ShowFPSOptionItemClick(Sender: TObject);
begin
ShowFPSOptionItem.Checked := not ShowFPSOptionItem.Checked;

if g_d3dApp <> nil then
g_d3dApp.m_bShowFPSOn := ShowFPSOptionItem.Checked;
end;

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

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

Опции > Подсказка реализуется аналогично.

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

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

Следовательно, загрузка необходимых ресурсов должна осуществляться не в цикле отрисовки (Render3DEnvironment), а до него. Это происходит внутри метода FormShow > InitD3DApp.

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

 

В нашем случае игра достаточно проста, поэтому все ресурсы будут загружаться лишь однажды - во время старта приложения и происходить это будет внутри FormShow > InitD3DApp > g_d3dApp.Create_ > OneTimeSceneInit > CreateDisplayObjects

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

В коде игры "Ну, Погоди!" это сделано еще более изящным образом: приложение переходит в состояние инициализации asBeginInit и в этом состоянии внутри метода FrameMove происходит вызов методов -

LoadGameTextures;
RestoreGameTextures;

и сразу же переход в состояние
m_dwAppState := asInit;

Это Вы можете сами увидеть в исходном коде игры "Ну, Погоди!".

 

Суть работы при этом сводится к следующему (попробуйте выполнить поиск фразы asBeginInit с начала исходного файла Main.pas в проекте игры "Ну, Погоди!")

Первое найденное - перечисляемый тип TAppStates

Второе - метод constructor TD3DGameApp.Create; - т.е. начальным состоянием во время старта приложения является именно это (asBeginInit)

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

Четвертое место где будет найдено asBeginInit - уже упомянутый выше метод FrameMove.

Внутри данного метода Вы можете увидеть какие вообще состояния может иметь игра и что при этом происходит.

 

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

Для этого Вам нужно скопировать папку Media из дистрибутива полной версии игры "Ну, Погоди!" и разместить ее внутри папки Вашего текущего проекта (где расположен exe-файл, создаваемый проектом при его компиляции).

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

нам нужно описать и реализовать методы

LoadGameTextures;
RestoreGameTextures;

DrawGameView;

Вы найдете их в исходном коде игры "Ну, Погоди!" и с легкостью сможете перенести в свой код.

 
Если же Вы немного затрудняетесь в этом, то рассмотрим, что нужно сделать.
 

Рассмотрим сначала простейший случай. Вам нужно загрузить текстуру

back.jpg

из папки Media\textures\

В объект класса TD3DImage2D, а затем использовать методы данного объекта для отображения в окне D3D внутри метода Render > DrawGameView > DrawGameScene > DrawGameElement

Как это реализовано в реальном коде игры "Ну, Погоди!" Вы можете увидеть сами.

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

В секции интерфейса объявляем константу с именем файла текстуры

interface

{...}

conts

BackTex = 'Media\textures\back.jpg';

В описание класса TD3DGameApp добавляем поле для объекта TD3DImage2D (данный класс реализован в модуле D3DGUI.pas, который присутствует ТОЛЬКО в исходном коде игры "Ну, Погоди!". В общедоступном архиве библиотеки Delphi DirectX 8.1 этого модуля нет!)

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

uses

{...}, D3DGUI;

backImage: TD3DImage2D;

и описание методов

procedure LoadGameTextures;
procedure RestoreGameTextures;

procedure InvalidateGameTextures;
procedure FreeGameTextures;

procedure DrawGameScene;

В секции реализации добавляем код для этих методов

implementation

{...}

procedure TD3DGameApp.LoadGameTextures;
var
hr: HResult;
begin
backImage := TD3DImage2D.Create(g_d3dApp.m_d3dfmtTexture);
if backImage = nil then begin
CleanUpAndDisplayError(GAME_ERR_NOTEXTURES);
PostMessage( m_hWndMain, WM_CLOSE, 0, 0 );
Exit;
end;

hr := backImage.InitDeviceObjects(m_pd3dDevice,
backTex);
if Failed(hr) then begin
CleanUpAndDisplayError(GAME_ERR_NOTEXTURES);
PostMessage( m_hWndMain, WM_CLOSE, 0, 0 );
Exit;
end;
end;

procedure TD3DGameApp.RestoreGameTextures;
begin
if backImage <> nil then
backImage.RestoreDeviceObjects;

end;

procedure TD3DGameApp.InvalidateGameTextures;
begin
if backImage <> nil then
backImage.InvalidateDeviceObjects;
end;

procedure TD3DGameApp.FreeGameTextures;
begin
SAFE_DELETE(backImage);
end;

procedure TD3DGameApp.DrawGameScene;
begin
if backImage <> nil then
backImage.Draw2(0, 0, 0, 0.83, 1,
DrawD3DImage2D_Filtered, 255);
end;

 

А затем останется только расскомментировать или добавить вызов созданных методов внутри -

FrameMove -

function TD3DGameApp.FrameMove: HRESULT;
begin
case m_dwAppState of
asBeginInit: begin
LoadGameTextures;
RestoreGameTextures;
m_dwAppState := asInit;
end;
asInit: m_dwAppState := asEndInit;
asEndInit: m_dwAppState := asReady;

asReady: {UpdateInput};
asGame: {FrameMoveGameScene};
end;

result := S_OK;
end;

и Render > DrawGameView -

procedure TD3DGameApp.DrawGameView;
const
FillColor = $FF58B327;
begin
if not Assigned(m_pd3dDevice) then Exit;

// Begin the scene
if SUCCEEDED(m_pd3dDevice.BeginScene) then
begin
// Erase the screen
m_pd3dDevice.Clear( 0, nil, D3DCLEAR_TARGET or D3DCLEAR_ZBUFFER,
FillColor, 1.0, 0 );

DrawGameScene;


//CountFPS;
// End the scene
m_pd3dDevice.EndScene;
end;


end;

Не забудьте про правильное освобождение созданных ресурсов! - внутри - InvalidateDisplayObjects и DestroyDisplayObjects

function TD3DGameApp.InvalidateDisplayObjects: HRESULT;
begin
result := S_OK;

m_pGameFont.InvalidateDeviceObjects;

InvalidateGameTextures;
end;

function TD3DGameApp.DestroyDisplayObjects: HResult;
begin
FreeGameTextures;

SAFE_DELETE(m_pGameFont);

SAFE_DELETE(m_Camera);

SAFE_RELEASE(m_pd3dDevice);

result := S_OK;
end;

 

После этого изображение панели игры Ну, Погоди появится в рабочей области окна D3D.

Если оно выводится не целиком, значит Вам нужно увеличить размеры окна формы -

В инспекторе объектов для формы MainForm задайте размеры

MainForm.Width = 637

MainForm.Height = 432

Заметьте, что размеры заданные в для окна формы в инспекторе объектов имеют приоритет перед размерами рабочей области окна заданными внутри TD3DGameApp.Create. Это связано с тем, что рабочую область окна D3D в оконном режиме определяет окно, чей обработчик (Handle) мы передаем объекту DirectD3Device. Таким объектом у нас является панель RenderWindowPanel. Если Вы задавали для неё в инспекторе объектов свойство Align = alClient, то это как раз и объясняет такое поведение приложения.

Получается, что размеры окна формы MainForm определяют размеры панели RenderWindowPanel, а она в свою очередь и служит рабочей областью для вывода D3D-окна.

 
Если D3D-приложение переключается в полноэкранный режим, то рабочая область окна D3D разворачивается во весь экран, а ее размеры определяются не заданными размерами окна, а разрешением, которое будет использоваться D3D-приложением для полноэкранного режима, т.е. - 640х480, 800х600, 1024х768 пиксель или другое доступное разрешение.
 
В нашем следующем уроке мы рассмотрим работу D3D-приложения в оконном и полноэкранном режиме. Покажем какой код необходимо написать для этого и какие особенности нужно обязательно учитывать. Несмотря на то, что для игры "Ну, Погоди!" полноэкранный режим не предусмотрен, т.к. она этого не требует из-за своих особенностей - эмуляции экрана электронной игры, тема полноэкранного режима и работы в нём является базовой для всех Delphi DirectX игр, т.к. высокая производительность D3D-приложения достигается именно в этом режиме!
 
 
 
[назад] [страница 2] [далее] [к содержанию]
 
     
     
     
подробнее

     
  Оплата по квитанции  
     
 

Безналичный расчет

 
 

Оплатить заказ в нашем интернет-магазине можно посредством банковского перевода с расчетного счета клиента (если такой имеется) или наличными с помощью квитанции через любой коммерческий банк.

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

Оплата должна быть произведена в течение 5 банковских дней с момента оформления заказа. Мы не можем гарантировать сроки поступления средств на счет интернет-магазина. Для каждого банка они уникальны. В среднем время поступления оплаты занимает около 2 дней, если перевод совершен на территории Российской Федерации.

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

 
     
     
  Спасибо за проявленное внимание !  
     
подробнее

cj megainformatic - Я пишу музыку для души и для продажи

Зачем я пишу музыку ? Когда я это делаю я преследую 2 цели:

1) Выразить свои чувства, передать настроение или изменить его в лучшую сторону. Т. е. я пишу чтобы душевно успокоиться и обновиться.

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

Что лучше писать свою музыку или слушать чужую ?

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

Я веду речь про крупные сайты музыкальных стоков (audio stock) где можно найти музыку самого разного качества и направленности.

Когда музыки очень много, возникает вопрос: а зачем писать еще ? Ведь итак уже её целое море, океан, лавина.

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

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

Поэтому оба этих варианта - создание и прослушивание - это два взаимодополняющих друг друга элемента.

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

Самое интересное тут вот что - всё о чём мы говорим на самом деле уже может не быть таким актуальным, а вот когда приходит момент когда мы делаем очередной шаг, а не просто думаем или говорим про это, вот тогда уже наступает настоящий МОМЕНТ ИСТИНЫ - например, с течением времени может оказаться, что мелкие сайты, где мало музыки, но она приемлемого качества и является авторской, станут более актуальными нежели сайты крупных аудио стоков.

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

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

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

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

Кстати напоследок ссылка на мои свежие треки - Лето-осень 2014 cj megainformatic - native reactions - Естественные реакции

Спасибо вам, читающим данную статью и слушающим музыку.

подробнее

Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

[готовые композиции] [к содержанию] [вступление] [назад] [далее]

В данном уроке мы рассмотрим как

- изменять темп композиции;

- изменять или добавлять новые инструменты (synt, синты);

- переключаться между паттернами;

- вставлять паттерны в плей лист;

Продолжим наши эксперименты, фундамент которых мы заложили с Вами в прошлом уроке.

Запускаем FL Studio 9, а если Вы её еще себе не скачали и не установили - советую.

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

Данный проект представляет собой flp файл упакованный в архив rar. Может открываться в FL Studio 9 версии или выше. Не используются никакие сторонние сэмплы или плагины, кроме Sytrus.


[downloads:28]

Композиция, которая может получиться у вас в ходе данного урока -

ВНИМАНИЕ! При прослушивании композиций после нажатия вами кнопки воспроизведения может возникать небольшая задержка в несколько секунд, связанная с загрузкой файла композиции в Ваш браузер. Поэтому просто наберитесь терпения и немножко подождите. Сразу же после этого Вы услышите музыку :)




открыли проект cold

Немножко подождём, пока проект загрузится.

Готово.

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

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

темп композиции

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

Рассмотрим создание партии для ударного инструмента на базе синта Ethnic -

переключаемся на окно step sequencer

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

кликаем синт,
для которого
хотим изменить
текущий инструмент,

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

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

В открывшемся окне плагина SYTRUS 
 кликаем правой кнопкой мыши одну из кнопок
 стрелок в правом верхнем углу

После чего увидим ГРОМАДНЫЙ СПИСОК, в котором вам надо найти synt ETHNIC - (как показано на рисунке)

После чего увидим ГРОМАДНЫЙ СПИСОК, в котором вам надо найти synt ETHNIC

и кликнуть его.

Далее в списке play list'а найдите паттерн № 32, который я назвал ode_l и вызвав окно PIANO ROLL введите в него следующие ноты - Далее в списке play list'а найдите паттерн № 32, который я назвал ode_l и вызвав окно PIANO ROLL введите в него следующие ноты

Далее в списке play list'а найдите паттерн № 32, который я назвал ode_l и вызвав окно PIANO ROLL введите в него следующие ноты

пробуем воспроизвести то, что у вас получилось.

попробуем воспроизвести полученный видоизмененный образец (pattern)

в 36 паттерне (base_up) вставим такой ударный рисунок - т. е. вот такие ноты для синта Ethnic -

в 36 паттерне (base_up) вставим такой ударный рисунок - т. е. вот такие ноты для синта Ethnic

из полученных 32 и 36 паттернов формируем в плей-листе 2 дорожки, например вот так -

из полученных 32 и 36 паттернов формируем в плей-листе 2 дорожки

а теперь пробуем воспроизвести то, что у нас получилось

воспроизводим композицию cold целиком

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

Также, хочу заметить, что вставка паттернов в play list, а также другие операции с паттернами в плей листе полностью похожи на то, как Вы вставляете ноты - для этого в окне play list используйте его инструменты КАРАНДАШ или КИСТЬ.

На этом наш 3 урок завершен.



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

Данный проект представляет собой flp файл упакованный в архив rar. Может открываться в FL Studio 9 версии или выше. Не используются никакие сторонние сэмплы или плагины, кроме Sytrus.


[downloads:28]

Композиция, которая может получиться у вас в ходе данного урока -

ВНИМАНИЕ! При прослушивании композиций после нажатия вами кнопки воспроизведения может возникать небольшая задержка в несколько секунд, связанная с загрузкой файла композиции в Ваш браузер. Поэтому просто наберитесь терпения и немножко подождите. Сразу же после этого Вы услышите музыку :)




[готовые композиции] [к содержанию] [вступление] [назад] [далее]

     
     
 

Продолжаем серию статей на тему Создания Сайта Своими Руками - СССР.

В данной статье я расскажу О экспорте/импорте данных для базы данных.

В первую очередь для чего это нужно ?

 
     
 

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

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

Представьте, что Вам нужно будет добавить сразу более 1000 записей. Возникает вопрос: Как автоматизировать этот процесс?

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

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

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

Очень просто - есть экспорт и есть импорт.

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

Все, что требуется, это выполнить переход на страницу

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

Вашего рабочего пакета http://www.denwer.ru/

 
     
 

Затем Выбрать Вашу локальную базу данных и нажав кнопку Export экспортировать данные этой базы данных в текстовый файл -

На открывшейся страничке экспорта все настройки лучше оставить как есть по-умолчанию и нажать кнопку Go (в русифицированной версии PHPMyAdmin эта кнопка может именоваться как OK).

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

Запускаете PHPMyAdmin на хостинге Вашего сайта, открываете базу данных на сайте и нажав кнопку Import импортируете данные в базу данных сайта.

Важно правильно указать файл, а также кодировку данных, например, если данные включающие текстовые строки в вашей локальной базе данных используются в кодировке cp1251, то при импорте нужно это явно указать выбрав опцию - Character set of the file - и выбрав из списка нужное значение.

 
     
 

После завершения импорта нажатием GO (OK) проверьте правильно ли данные были внесены в Вашу базу данных на хостинге сайта.

Для начала лучше конечно потренироваться в экспорте/импорте с базой данных на Вашем локальном ПК. Собственно для этих целей и был придуман denver - опробывать и тестировать всё сначала на своём локальном ПК, а уж затем закачивать проверенное на свой сайт.

 
     
  У Вас конечно же возник еще один вопрос: Как экспортировать/импортировать не все данные, а только их часть - например, незачем добавлять в базу данных уже имеющиеся там данные, хотелось бы добавить только новые или обновленные, а всё остальное оставить без изменений.  
     
 

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

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

При импорте все будет еще проще если Вы импортируете только новые данные, которых еще нет в базе данных.

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

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



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


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