Создание игр для PSP с использованием языка LUA - Часть 2
Доброго времени! Надеюсь вам понравился мой прошлый урок. Но то, что я дал в той статье совершенно не пригодно для создания игр. В этом уроке мы уже создадим простенькую игру (совсем простую). Вот план работы: 1. Вывод изображений. 2. Обработка нажатий на кнопки. 3. Обобщающая программа. Часть 1 Вывод изображений - очень важная часть создания игры. Если есть идея, умеешь выводить изображения и реагировать на нажатия клавиш - значит ты уже можешь создать хорошую игру. И сейчас я покажу, как выводить изображения в LUA. Создайте новый проект, как это делать написано тут. Сначала скачайте изображение отсюда. Потом добавим изображение в проект. Для этого нажмите на кнопку Import a file into a project. На неё на изображении показывает стрелочка:
Code
sqr = Image.load("sqr.png") --Загружаем изображение в переменную sqr screen:blit(0,0,sqr) --Выводим изображение на экран. 1 параметр - координата по x, 2 параметр - по y, 3 параметр - переменная --изображения screen.flip() while true do screen.waitVblankStart() end
В комментариях в программе я подробно описал все новые строчки. Надеюсь вы поняли, что "--" обозначает комментарий. И ещё одна важная особенность - в LUA переменные можно объявлять где угодно, у них нет типа. Теперь загружайте программу на PSP, как описано в прошлом уроке и запускайте. У вас должен был появится красный квадрат в верхнем левом углу. Если это не так, то проверьте код и есть ли изображение в папке с EBOOT.PBP. Часть 2 Теперь у нас по плану обработка нажатий на кнопки. Как обычно даю сразу весь код:
Code
sqr = Image.load("sqr.png") --Загружаем изображение в переменную sqr x=0 y=0 while true do screen:clear() screen:blit(x,y,sqr) --Выводим изображение по координатам screen.flip() --Выводим содержимое буфера на экран pad = Controls.read() --Читаем нажатую кнопку if pad:up() then --Если нажата кнопка "Вверх" if y>0 then --Проверям, не выходит ли изображение за экран y=y-10 --Уменьшаем y end end if pad:down() then --Если нажата кнопка "Вниз" if y<222 then --Проверям, не выходит ли изображение за экран y=y+10 --Увеличиваем y end end if pad:left() then --Если нажата кнопка "Влево" if x>0 then --Проверям, не выходит ли изображение за экран x=x-10 --Уменьшаем x end end if pad:right() then --Если нажата кнопка "Вправо" if x<430 then --Проверям, не выходит ли изображение за экран x=x+10 --Увеличиваем x end end end
. Думаю вопрос может быть только в 4 строчках, но ответ на них один: разрешение экрана PSP 480X272 пиксела. И, надеюсь, вы заметили, что синтаксис условного выражения в LUA очень похож на синтаксис в Pascal'е. Часть 3 Ну а теперь напишем небольшую программку, использующую весь пройденный нами материал.
Code
blue=Color.new(0,0,255) sqr = Image.load("sqr.png") --Загружаем изображение в переменную sqr x=0 y=0 while true do screen:clear() screen:blit(x,y,sqr) --Выводим изображение по координатам pad = Controls.read() --Читаем нажатую кнопку if pad:up() then --Если нажата кнопка "Вверх" if y>0 then --Проверям, не выходит ли изображение за экран y=y-10 --Уменьшаем y end screen:print(0,0,"Up pressed!",blue) end if pad:down() then --Если нажата кнопка "Вниз" if y<222 then --Проверям, не выходит ли изображение за экран y=y+10 --Увеличиваем y end screen:print(0,0,"Down pressed!",blue) end if pad:left() then --Если нажата кнопка "Влево" if x>0 then --Проверям, не выходит ли изображение за экран x=x-10 --Уменьшаем x end screen:print(0,0,"Left pressed!",blue) end if pad:right() then --Если нажата кнопка "Вправо" if x<430 then --Проверям, не выходит ли изображение за экран x=x+10 --Увеличиваем x end screen:print(0,0,"Right pressed!",blue) end screen.flip() --Выводим содержимое буфера на экран end
С этим кодом попробуйте разобраться самостоятельно. Ну, надеюсь у вас не было вопросов по этому уроку. Если и таковые были, то пишите в комментариях или мне в ЛС.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Создание игр для PSP с использованием языка LUA - Часть 2», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.