- •Урок 1: Создание среды программирования, глава 1
- •Урок 1: Создание среды программирования, глава 2
- •Урок 1: Создание среды программирования, глава 3
- •Урок 1: Создание среды программирования, глава 4
- •Урок 1: Создание среды программирования, глава 5
- •Урок 2: Создание первой собственной программы, глава 1
- •Урок 2: Создание первой собственной программы, глава 2
- •Урок 2: Создание первой собственной программы, глава 3
- •Урок 3: Шпаргалки для начинающих программистов, глава 1
- •Урок 3: Шпаргалки для начинающих программистов, глава 2
- •Урок 3: Шпаргалки для начинающих программистов, глава 3
- •Урок 4: Простейшие способы обработки изображений, глава 1
- •Урок 4: Простейшие способы обработки изображений, глава 2
- •Урок 4: Простейшие способы обработки изображений, глава 3
- •Урок 4: Простейшие способы обработки изображений, глава 4
- •Урок 4: Простейшие способы обработки изображений, глава 5
- •Урок 5: Новые методы программирования на psp, глава 1
- •Урок 5: Новые методы программирования на psp, глава 2
- •Урок 5: Новые методы программирования на psp, глава 3
- •Урок 5: Новые методы программирования на psp, глава 4
- •Урок 5: Новые методы программирования на psp, глава 5
- •Урок 6: Добавление звука в программу, глава 1
- •Урок 6: Добавление звука в программу, глава 2
- •Урок 6: Добавление звука в программу, глава 3
- •Считывание всего файла, глава 1
- •Считывание всего файла, глава 2
- •Считывание всего файла, глава 3
- •Считывание всего файла, глава 4
- •Считывание всего файла, глава 5
Урок 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.
Продолжение данного урока во второй части.
