|
|
|
#1 Добавлено: 6 июня 2011 19:01 |
|
|
|
|
Посетители
nikita1996spb
--
Возраст: 27 | |
Сообщений: 868
Благодарности: 9 / 55
Репутация: 69
Предупреждений: 0
Друзья
Тут: 13 лет 7 месяцев
|
|
Добрый вечер! Помогите пожалуйста: я хочу написать программу для PSP в lua, но у меня не получается сделать меню. Как сделать вертикальное меню, переключение стрелочками, обычные - белые, выделенный зелёный, выбор крестом, при выборе каждая запускает другой скрипт??? Вот код в PGE, такой внешний вид хотелось бы. Задача не простая.
MyFont = pge.font.load("1.ttf",16)
items = {"5.03GEN-C -> 6.20TN-E","5.03GEN-C -> 6.20PRO-B6","5.03GEN-C -> 6.35PRO-B6","6.20PRO-B6 -> 6.35PRO-B6","6.20TN-E -> 6.35PRO-B6","6.20PRO-B6 -> 6.20TN-E","6.20TN-E -> 6.20PRO-B6","6.35PRO-B6 -> 6.20TN-E","6.35PRO-B6 -> 6.20PRO-B6","6.20PRO-B6 -> 5.03GEN-C","6.20TN-E -> 5.03GEN-C"}
while pge.running() do pge.controls.update() pge.gfx.startdrawing() pge.gfx.clearscreen()
MyFont:activate() for num = 1, #items do if num==index then MyFont:print(25,10+num*20,green,items[num]) else MyFont:print(25,10+num*20,white,items[num]) end end
if pge.controls.pressed(PGE_CTRL_UP) and ( index > 1 ) then index = index-1 end
if pge.controls.pressed(PGE_CTRL_DOWN) and ( index < #items ) then index = index+1 end
pge.gfx.enddrawing() pge.gfx.swapbuffers() end
|
|
|
|
|
#2 Добавлено: 6 июня 2011 19:12 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 28 | |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 11 месяцев
|
|
nikita1996spb, если я сделаю другой код, ничего ?
|
|
|
|
|
#3 Добавлено: 6 июня 2011 19:44 |
|
|
|
|
Посетители
nikita1996spb
--
Возраст: 27 | |
Сообщений: 868
Благодарности: 9 / 55
Репутация: 69
Предупреждений: 0
Друзья
Тут: 13 лет 7 месяцев
|
|
В каком плане другой? Этот для "наглядности"!
|
|
|
|
|
#4 Добавлено: 6 июня 2011 19:50 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 28 | |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 11 месяцев
|
|
nikita1996spb, я имел ввиду по структуре . Сам писал?
|
|
|
|
|
#5 Добавлено: 6 июня 2011 19:56 |
|
|
|
|
Посетители
nikita1996spb
--
Возраст: 27 | |
Сообщений: 868
Благодарности: 9 / 55
Репутация: 69
Предупреждений: 0
Друзья
Тут: 13 лет 7 месяцев
|
|
vladgalay, этот я сам писал . Я далёк от программирования . Можешь объяснить различие? Сообщение отредактировано 6 июня 2011 19:57. Редактировалось 1 раз(а)
|
|
|
|
|
#6 Добавлено: 6 июня 2011 20:01 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 28 | |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 11 месяцев
|
|
nikita1996spb, задаче несложная, если внимательно всмотреться в код. Просто вместо одномерного массива лучше использовать двумерный . Вот, что у меня получилось: MyFont = pge.font.load("1.ttf",16)
items = {"5.03GEN-C -> 6.20TN-E","1.lua", "5.03GEN-C -> 6.20PRO-B6","2.lua", "5.03GEN-C -> 6.35PRO-B6","3.lua", "6.20PRO-B6 -> 6.35PRO-B6","4.lua", "6.20TN-E -> 6.35PRO-B6","5.lua", "6.20PRO-B6 -> 6.20TN-E","6.lua", "6.20TN-E -> 6.20PRO-B6","7.lua", "6.35PRO-B6 -> 6.20TN-E","8.lua", "6.35PRO-B6 -> 6.20PRO-B6","9.lua", "6.20PRO-B6 -> 5.03GEN-C","10.lua", "6.20TN-E -> 5.03GEN-C","11.lua"}
while pge.running() do pge.controls.update() pge.gfx.startdrawing() pge.gfx.clearscreen()
MyFont:activate() for num = 1, #items do if num==index then MyFont:print(25,10+num*20,green,items[num]) else MyFont:print(25,10+num*20,white,items[num]) end end
if pge.controls.pressed(PGE_CTRL_UP) and ( index > 1 ) then index = index-1 end
if pge.controls.pressed(PGE_CTRL_DOWN) and ( index < #items ) then index = index+1 end
if pge.controls.pressed(PGE_CTRL_CROSS) then dofile(items[index][2]) end pge.gfx.enddrawing() pge.gfx.swapbuffers() end Так изначально это твой код был? Просто конструкция кода отличная.Добавлено спустя 1 минуту 38 секунд:Цитата: nikita1996spb этот я сам писал . Я далёк от программирования Как ?
|
|
|
|
|
#7 Добавлено: 6 июня 2011 20:10 |
|
|
|
|
Посетители
nikita1996spb
--
Возраст: 27 | |
Сообщений: 868
Благодарности: 9 / 55
Репутация: 69
Предупреждений: 0
Друзья
Тут: 13 лет 7 месяцев
|
|
vladgalay, я на другом сайте мануал по созданию меню в pge видел. Чуть-чуть ещё порылся и сделал, как мне нужно. Но мне нужно в lua, так как в pge нету команд копирования папки и файла . А мне именно они и нужны. Я хочу похожее меню в lua, но у меня не выходит .
|
|
|
|
|
#8 Добавлено: 6 июня 2011 20:10 |
|
|
|
|
|
|
Можно и мне помочь. Вот исходник: MyTexture = pge.texture.load("1.png") --1 black = pge.gfx.createcolor(0,0,0) --2 x=0 --3 y=0 --4 flag=0 --5 while pge.running() do --6 pge.gfx.startdrawing() --7 pge.gfx.clearscreen() --8 MyTexture:activate() --9 MyTexture:draw(0,0) --10 repeat --11
Pge.gfx.drawrect(x,y,2,2) --12 x=x+2 --13 until x+2~=482 --14
if y+2==272 then --16 do continue --17 end --18 else --19 do y=y+2 --20 continue --21 end --22
pge.gfx.enddrawing() --23 pge.gfx.swapbuffers() --24 end--25 При запуске проги через PGE, вылезает ошибка Error ms0:/PSP/GAME/PGELUA/script.lua: 20: '=' expected near 'end'
Помогите плз. Сообщение отредактировано 6 июня 2011 20:11. Редактировалось 1 раз(а)
|
|
|
|
|
#9 Добавлено: 6 июня 2011 20:11 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 28 | |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 11 месяцев
|
|
andrey21and, nikita1996spb, подождите, сейчас, сейчас .
|
|
|
|
|
#10 Добавлено: 6 июня 2011 20:14 |
|
|
|
|
|
|
#11 Добавлено: 6 июня 2011 20:15 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 28 | |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 11 месяцев
|
|
andrey21and, а что за continue у тебя периодически всплывает в коде ? И что скрипт должен делать?
|
|
|
|
|
#12 Добавлено: 6 июня 2011 20:16 |
|
|
|
|
Посетители
nikita1996spb
--
Возраст: 27 | |
Сообщений: 868
Благодарности: 9 / 55
Репутация: 69
Предупреждений: 0
Друзья
Тут: 13 лет 7 месяцев
|
|
vladgalay, жду! Заранее спасибо!!!
|
|
|
|
|
#14 Добавлено: 6 июня 2011 20:25 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 28 | |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 11 месяцев
|
|
andrey21and, я просто не думал, что сиё чудо есть и на PGE . Завтра похимичу с твоим кодом, ладно ?
|
|
|