Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_pod_PSP_na_C__RUS.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.73 Mб
Скачать

Урок 5: Новые методы программирования на psp, глава 5

Это пятая (заключительная) часть урока 5. Если вы не прочитали первую, вторую, третью и четвертую части, то прочитайте их перед тем, как приступать к заключительной части данного урока. Мы зеркально отображаем экран и добавляем паузу для управления скорости нашей программы (чтобы не было слишком быстро). И наконец, завершаем нашу программу:

                 flipScreen();

                    for(i=0; i<1; i++) {                               sceDisplayWaitVblankStart();                     }           }

          return 0; } Now, just create a Makefile, and you are ready to compile. TARGET = BackgroundChanger OBJS = main.o graphics.o framebuffer.o

CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS)

LIBDIR = LIBS = -lpspgu -lpsppower -lpng -lz -lm LDFLAGS =

EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = Background Changer

PSPSDK=$(shell psp-config —pspsdk-path) include $(PSPSDK)/lib/build.mak

Начиная с четвертого урока, Makefile не менялся за исключением имени и добавления «-lpsppower«, который открывает доступ к библиотеке (разгон). И в ней содержится Background Changer, позволяющий изменять цвет фона.

Не забудьте подписаться на RSS нашего сайта (или хотя бы занести сайт в закладки в браузере), чтобы быть в курсе и не пропустить обновления нашего курса.

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

Урок 6: Добавление звука в программу, глава 1

Данный урок был написан пользователем Стивеном Мерити (ака Smerity), которому стоит сказать «большое спасибо» за его большой вклад. Кроме того, большая благодарность выражается и Джону К. за подключение libmad к PSP и за разработку PSPMediaCenter (из которого я использовал часть кода). А также отдельное спасибо Seventoes, который оставил пост на PS2Dev.org, попросив о помощи с кодом libmad, необходимым для нашей программы. Данные учебные материалы представляют собой простое пошаговое руководство, касающееся проигрывания музыки в ваших программах. Звук FX и фоновая музыка – два аспекта, которые придают приложению утонченный стиль. Однако в большинстве случаев на них не обращают внимания. Является ли это спешкой разработчика по причине быстрого выпуска товара или неумением добавить звук (или отсутствием подходящей музыки к их приложению). Не известно. Мы надеемся, что данное учебное руководство поможет людям сделать свои приложения звуковыми. Первым необходимым шагом станет скачивание libmad из SVN. libmad является MPEG audio decoder (декодером для звуковых файлов) и выпущен под лицензией GPL, а затем был портирован на PSP Джоном К. Чтобы осуществить это, откройте Cygwin и введите путь к файлу:

[i]svn://svn.ps2dev.org/psp/trunk/libmad[/i]

Когда пакет будет загружен, вы должны увидеть длинный список имен файлов. Теперь мы перейдем в каталог libmad и скомпилируем библиотеку:

cd libmad make

Следующая часть программы является отклонением от того, что мы использовали в уроке 4. Обычно вы применяли «make install«, и все автоматически устанавливалось: файлы в соответствующие каталоги. К сожалению, установка скрипта libmad невозможна в настоящее время. Не волнуйтесь, мы можем установить все вручную:

cp -Rf ./include /usr/local/pspdev/psp/ cp -Rf ./lib/libmad.a /usr/local/pspdev/psp/lib

Примечание: Имеется пробел между «./include» и «/usr…«, а также между «libmad.a» и «/usr…«

Эта операция позволяет скопировать все файлы в их соответствующее место. Флаг «-Rf» заменяет «Recursive» и «final«. Он подтвердит то, что вы копируете, и исключит ошибки (о которых некоторые пользователи сообщали, как о проблеме в отсутствии флагов). (Пользователям MinPSP проще, так как все необходимые файлы можно найти в папке C:\\pspsdk\\)

Далее скачаем и извлечем некоторые необходимые файлы в новую папку проекта. Внутри два файла (mp3player.c и mp3player.h), которые были получены из PSPMediaCenter Джоном К. Я произвел небольшие изменения в файлах следующим образом (вам ничего не нужно делать, просто на всякий случай, если вы спросите):

//Не добавляете это в вашу программу //Это пример кода mp3player.c Строка 76 — /* void void MP3setStubs to end of function */ — характерна для заглушки, посмотрите mp3player.h

mp3player.h Строка 10 — #include "../../codec.h" – характерна для [b]PSPMediaCenter[/b] Строка 17 — void MP3setStubs(codecStubs * stubs); — характерна для [b]PSPMediaCenter[/b]

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

Теперь вернемся к функции. Создаем main.c в выбранном вами редакторе и начинаем с ваших комментариев:

// Образец Mp3-проигрывателя на PSP // *Ваше имя здесь*

Следующий шаг должен быть вам знаком. Новое только «pspaudio.h» и «pspaudiolib.h.» Эти заголовочные файлы необходимы для определенных аудио-функций, которые мы будем использовать в нашей программе:

#include <pspkernel.h> #include <pspctrl.h> #include <pspdebug.h> #include <pspaudio.h> #include <pspaudiolib.h> #include <psppower.h> #include "mp3player.h"

PSP_MODULE_INFO("Пример Mp3-плеера", 0, 1, 1); #define printf pspDebugScreenPrintf

Заметьте, что мы включили один из загружаемых вами файлов: «mp3player.h» (убедитесь, что этот файл находится в то же самом каталоге, что и исходный файл). Также мы определили printf и создали наш PSP_MODULE_INFO.

Продолжение данного урока во второй части.