Создание MP3-плеера

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Ресурсы (графика, звук, музыка, DLL, Script'ы и Библиотеки) / Создание MP3-плеера

Страницы: 1  новая тема

Автор Сообщение

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 29-12-2005 10:39
Нашел на одной из страничек следующее:

"Создаём MP3-Плеер
Возможности программы Game Maker огромны!!! Так в Game Maker можно писать не только игрушки, но и программы. И в этом уроке мы попробуем написать небольшую программу, а именно MP3-Плеер.
Game Maker действительно очень простое средство для создания полноценных игр. Но для того, чтобы сотворить профессиональный продукт одних лишь возможностей программы недостаточно. Да, встроенный скриптовый язык (Game Maker Language, или GML) позволяет делать хорошие любительские игры. Но если Вы собираетесь создавать что-то серьёзное, я рекомендую пользоваться DLL библиотеками. Да, да, возможности Game Maker' а огромны, но не безграничны. Dll - ки расширяют их. Но это так, лирическое отступление. В действительности же, на первых порах нам предстоит оттачивать свое мастерство путем создания простых игрушек.
Думаю, с интерфейсом программы Вы уже разобрались и теперь готовы приступать к конкретным действиям. Я рекомендую обзавестись новейшей версией Game Maker' а (5.1). Скачать её можно с официального сайта: www.gamemaker.nl. Там же можно раздобыть дополнительные ресурсы (спрайты, сплайны, звуки, бэкграунды и т.д.).
На прошлом уроке мы создавали простую офисную игру - тир. На этом уроке мы попробуем создать нечто иное. Mp3 Player, например. Да, Вы не ослышались. В Game Maker' е можно создавать не только игры, но и приличные программы. All Maker прям какой - то. Хочу сразу предупредить, работать будем только в коде. Таким образом, Вы быстрее привыкните к программерской среде. Только не надо меня помидорами закидывать, всё будет понятно даже служащему танковых войск, я ручаюсь.
Встроенный script - editor хорош, но я его почему-то не уважаю. Предлагаю попробовать Dragon Script Lite. Вот это вещь. Мечта кодера! Скачать его можно с dscript.gmcommunity.com. После установки скрипт-редактор необходимо прописать, дабы Game Maker автоматически его запускал. Итак, заходим в Game Maker, File - Preferences - вкладка Scripts and Code. Ставим галку на Use external code editor, указываем путь до Dragon Script Lite. Все, кстати, там же можете установить число BackUp'ов игры (создаются периодически во время работы), цвета программы и т.д. Не пренебрегайте BackUp'ами, а вдруг свет отрубят?
Ладно, приступим к делу.
Создаем новый объект (objects - add object). Назовем его objMain. Можете назвать его как хотите, но лучше назвать именно так. Вообще, хорошим тоном в программировании считается именно такая форма названия: objSuper, например. Всегда ставьте obj перед названием объекта. Аналогично со спрайтами: sprSuper. Приставка Spr в начале означает, что это не объект, а спрайт. Просто, когда вы создаете крупные игры и все пишете в коде трудно отличить одинаково названные объекты от спрайтов. Вот за этим и вводят специальный шаблон оформления. Но я отвлекся.
Два раза кликнете левой кнопкой по объекту objMain. Нажмите Add Event. Выберите Step-Step. Перетащите справа из вкладки code белый лист. Открылось окно редактора. Пропишем:
if keyboard_check(vk_space)
{
sound = get_open_filename('Mp3','*.mp3');
}
По-русски это звучит так:
если клавиша нажата (пробел)
{
звук = имя_файла_для_открытия('Mp3','*.mp3')
}
В скобках мы указываем на конкретный тип файла. В данном случае mp3. Таким образом, программа будет отсеивать все файлы, кроме mp3. Что нам и нужно.
Создадим новую комнату с названием Main. Пусть шириной она будет в 250, а высотой в 200. Поместим в неё объект objMain. ОК.
Вернемся к Step Event у объекта. Добавим к уже имеющемуся коду между двумя фигурными скобками:
sound_replace(sndMain, sound, 1, false, true);
Что значит:
звук_заменить(sndMain, sound, 1, ложно, истинно);
Таким образом, мы заменяем звук sndMain на звук sound , который мы указали ранее. Вы спросите, где же мы возьмем sndMain. Ответ прост: создадим. Правой кнопкой по вкладке Sounds в левой части рабочего окна Game Maker а Add Sound. Переименуем его в sndMain. OK. Теперь у нас есть звук, который мы будем заменять. Это нужно для того, чтобы программа не выдавала глюк в случае, если пользователь нажмет кнопку проигрывания до того, как звук sound будет выбран. Короче, для обмана программы. Есть, конечно, десятки других способов, но этот наиболее простой.
Теперь поднимите взгляд вверх. У нас есть sndMain звук-обманка, которой мы сами создали, и sound звук, который выбрал пользователь. 1 , следующая за sound в скобке значит, что мы будем использовать один буфер для хранения звука. false означает, что мы не собираемся накладывать эффекты на звук. true нужно для того, чтобы звук загружался только тогда, когда он действительно необходим, а не при запуске программы. Готово.
Проверьте, Step Event объекта objMain должен содержать следующие строки:
if keyboard_check(vk_space)
{
sound = get_open_filename('Mp3','*.mp3');
sound_replace(sndMain, sound, 1, false, true);
}
Добавим еще одно событие. Add Event Key Release - Enter. Перекидываем из вкладки Code (справа) белый листок. Пропишем:
if sound_isplaying(sndMain) {sound_stop(sndMain);}
else {sound_play(sndMain);}
если звук_играет(sndMain) {звук_остановить(sndMain);}
в противном случае {звук_играть(sndMain);}
В итоге, мы прописали в событии Клавишу Отпустить Enter строки, которые заставят при нажатии клавиши Enter проигрывать звук, если он не играет или остановить, если играет. Key Release мы использовали для того, чтобы не было заедания , звук останавливался и проигрывался независимо от частоты нажатия и времени задержки клавиши Enter.
Финальные штрихи. Add Event Draw. Перебрасываем белый лист Execute a piece of code (так он называется). Прописываем:
draw_text(15, room_height-20, Нажмите "Пробел" для выбора mp3 файла );
draw_text(32, 15, Нажмите "Enter" для проигрывания );
Это необходимо для того, чтобы пользователь знал, что нужно нажимать. На заданных координатах по X-у и Y-у будет написан текст, заключенный в кавычках.
Вот всё, что мы прописали в свойствах объекта objMain:
Step Event:
if keyboard_check(vk_space)
{
sound = get_open_filename('Mp3','*.mp3');
sound_replace(sndMain, sound, 1, false, true);
}
release Event:
if sound_isplaying(sndMain) {sound_stop(sndMain);}
else {sound_play(sndMain);}
Draw Event:
draw_text(15, room_height-20, Нажмите "Пробел" для выбора mp3 файла );
draw_text(32, 15, Нажмите "Enter" для проигрывания );
Теперь (если Вы этого еще не сделали) поместите объект objMain в комнату Main (Два раза левой кнопкой мыши по вкладке Rooms, два раза по надписи Main, выберите objMain (Object to add with left mouse) и поставьте на произвольное место в комнате (в произвольную клетку)). Готово!
Вот так, без особых усилий Вы создали программу-mp3 плеер. Как Вы видите, программировать в GML довольно просто и приятно. И на последок: если Вы хотите добиться успеха в Game Maker программировании читайте Help и изучайте примеры".


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

гроссмейстер
Группа: Сообщество GM
Сообщений: 131
Добавлено: 29-12-2005 16:15
И что там написано в четвертой строке?

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 29-12-2005 17:21
И что там написано в четвертой строке?

Вроде того, что объект sndMain отсутствует... Сегодня запишу эту ошибку...

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 30-12-2005 11:24
Надпись следующая:
FATAL ERROR in
action number 1
of Step Event
for object objMain:

COMPILATION ERROR in code action
Error in code at line 4:

sound_replace(sndMain, sound, 1, false, true);

at position 46: Wrong number of arguments to function or script


Как думаете, реально ли в этой программе создать конкурента Winamp?

Дундук - не беспокоить!
Группа: Модераторы
Сообщений: 1435
Добавлено: 30-12-2005 13:43
Как думаете, реально ли в этой программе создать конкурента Winamp?


Ты что шутишь ?

Конкурента Винампу создать в принципе невозможно. Тем более нам. Простым пользователям. Тем более в ГамеМакере нельзя создавать окна любой формы, тоесть нельзя делать скины.

гроссмейстер
Группа: Сообщество GM
Сообщений: 131
Добавлено: 31-12-2005 13:09
ну в ошибке написано что типа неверна запись
sound_replace(sndMain, sound, 1, false, true);
в ней должно быть всего 4 аргумента вот так вот:
sound_replace(index,fname,kind,loadonuse)
а у тебя там пять.

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 09-01-2006 14:05
ну в ошибке написано что типа неверна запись
sound_replace(sndMain, sound, 1, false, true);
в ней должно быть всего 4 аргумента вот так вот:
sound_replace(index,fname,kind,loadonuse)
а у тебя там пять.

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

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 13-02-2006 17:29
Идея замерла... Помощи не вижу...

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 13-02-2006 19:58
Можно использовать dll со звуками и не мучаться...
к конкурсу можно сделать mp3 плэер...

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 14-02-2006 11:17
Можно использовать dll со звуками и не мучаться...
к конкурсу можно сделать mp3 плэер...

Как???

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 14-02-2006 17:47
Super Sound system dll - там много чего полезного...

частый гость
Группа: Участники
Сообщений: 22
Добавлено: 09-09-2006 23:40
могу выложить пример своего плеера! надо?

маэстро
Группа: Сообщество GM
Сообщений: 723
Добавлено: 09-09-2006 23:56
давай, но исходник - хочется узнать твой способ

частый гость
Группа: Участники
Сообщений: 22
Добавлено: 10-09-2006 00:37
давай, но исходник - хочется узнать твой способ

выложил для гм5-ой версии:
нажать (35кб .gmd)

маэстро
Группа: Сообщество GM
Сообщений: 582
Добавлено: 10-09-2006 01:36
Ссылку нормальной сделай.
И зачем гб1 ?

частый гость
Группа: Участники
Сообщений: 22
Добавлено: 11-09-2006 12:43
Кто нить качал?

маэстро
Группа: Сообщество GM
Сообщений: 582
Добавлено: 11-09-2006 13:47
Как я понял там пример который описан сверху, просто открывает файл и играет его :(

частый гость
Группа: Участники
Сообщений: 22
Добавлено: 11-09-2006 14:05
yes!

Grand Admin
Группа: Администраторы
Сообщений: 1191
Добавлено: 11-09-2006 15:35
Хе-хе-хе, мою идею откопали значит... Проверим... В чем заключается суть всех медиа-плееров, проигрывателей и иже с ними - в воспроизведении музыкальных файлов, вот и все...

Страницы: 1  новая тема
Раздел: 
Game Maker Форум / Ресурсы (графика, звук, музыка, DLL, Script'ы и Библиотеки) / Создание MP3-плеера

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

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU