Графика(Продолжение)/Музыка(mp3)
Доброго всем. Долго я ничего не постил на сайте - не бось подумали, что я его забросил? Как бы не так!) Сегодня в первой части я вам покажу прекрасный способ выборки участка изображения из целой картинки, а также вставку одной картинки непосредственно в другую(втравливание), а во второй части вас ждет не менее увлекательная работа с файлами формата .mp3, для добавления музыки в ваши игры и программы. Поехали!
Графика
I) Выборка участка изображения из целой картинки безусловно важная функция в игроделании, ибо позволяет вам экономить RAM память вашей PSP (Особенно важно для PSP FAT), избавляя её от загрузки кучи мелких картинок, чей общий размер порой может превышать размера их общей картинки. Да и кучу разных переменных юзать не придется.
Код:
screen:blit(x,y,img,xx,yy,width,height)--где хх и уу это координаты отсчета выбранные на исходной картинке(от какой точки начинаем вырезку-заметьте это не координаты позиции на экране, это координаты позиции на вашей картинке), а ширина и высота это параметры куска картинки, которую мы выдергиваем. Таким образом мы постоянно печатаем одну и туже картинку img - только с разных "ракурсов" так сказать.
P.S. надеюсь не стоит пояснять, что вместо моих переменных xx,yy,width,height - можно написать хоть puh,pah,pih,peh :)
II) Вставка одной картинки непосредственно в другую - тоже полезная вещь, опять же для экономии, но теперь уже вашей FPS - т.к. PSP не придется рендерить на экран кучу отдельных картинок. Она будет рендерить лишь одну, в которой на заданных вами позициях будут втравлены другие.
Код:
Обратите внимание на то, как мы выводим изображение на экран - мы пишем screen:blit(x,y,img), так вот - допустим мы хотим в картинку img - втравить другую картинку img1. Для этого стоит написать следующее.
img:blit(xx,yy,img1)--как вы можете видеть - мы в картинку img печатаем другую(img1) на позицию xx,yy.
screen:blit(x,y,img)--Ну а потом выводим стравленную общую картинку img на экран.
Музыка
Музыка - это безусловно важный фактор в любом игровом проекте. Сегодня вы узнаете - как её запускать/останавливать/делать паузу/определять процентное состояние
Mp3me.play()--запуск подгруженной в память музыки на проигрывание
Mp3me.load("1.mp3")--загрузка музыки непосредственно в оперативную память PSP
Mp3me.load("1.mp3")--загрузка музыки непосредственно в оперативную память PSP
Mp3me.stop()--остановка композиции, на всякий случай лучше ставить перед загрузкой возможно новой композиции, ибо при переходе из скрипта в скрипт PSP не останавливает композицию, запущенную в предыдущем.
if Mp3me.percent()==100 then--Это условие для того, чтобы проверить - не закончилась ли песня. Если оно выполнится - значит песня закончилась.
if Mp3me.percent()==100 then--Это условие для того, чтобы проверить - не закончилась ли песня. Если оно выполнится - значит песня закончилась.
Mp3me.pause()--поставка композиции на паузу,а чтобы снова её запустить - пропишите Mp3me.play()
Mp3me.percent()--процентное состояние проигрываемой песни
КОД
Mp3me.stop()
Mp3me.load("1.mp3")
Mp3me.play()
Mp3me.play()
while true do
if Mp3me.percent()==100 then
Mp3me.stop()
Mp3me.load("1.mp3")
Mp3me.play()
end
Mp3me.play()
end
end