Tutorial De Programacion En LUA - Capitulo 6

Todo sobre la primera portátil de Sony

Moderadores: Webmaster, Administrador, Moderador

Tutorial De Programacion En LUA - Capitulo 6

Notapor the_marioga » Viernes, 02 Abril 2010, 11:47

Capitulo 6. Menus Avanzados(Aun no graficos)


AVISO: ESTE TUTORIAL NO ESTA BETATESTEADO NI POR MI; SI HAY ALGUN ERROR ME LO DECIS

Os e enseñado a elegir entre 2, pero k pasa si keremos... 182, weno esos son muchos mejor 4, pues aki veremos k pasa.

Os pongo un codigo(el de mi USB menu(que alguien plagio y llamo Acceso PSP) pero lo voy a encoger, el original tiene 9

funciones) y os explico

Código: Seleccionar todo
  --colores
  blanco = Color.new(255, 255, 255)
  verde = Color.new(0, 255, 0)
  azul = Color.new(0, 0, 255)
  --Funciones y variables
  current = 4
  --Lectura pulsaciones
  function LeerPulsacion ()
  pad = Controls.read()
  if pad:down() and pad~=prevPad then
  if current<4 then
  current=current+1
  else
  current=1
  end
  elseif pad:up() and pad~=prevPad then
  if current>1 then
  current=current-1
  else
  current=4
  end
  end
  prevPad=pad
  if pad:cross() and pad~=prevpad then
  if current == 1 then
  screen:clear(blanco)
  screen:print(150, 150,  "USB mode - Flash0", verde)
  screen.flip()
  screen.waitVblankStart(150)
  System.usbDiskModeDeactivate() 
  System.usbDevFlash0()
  System.usbDiskModeActivate()
  end
  if current == 2 then
  screen:clear(blanco)
  screen:print(150, 150,  "USB mode - Flash1", verde)
  screen.flip()
  screen.waitVblankStart(150)
  System.usbDiskModeDeactivate() 
  System.usbDevFlash1()
  System.usbDiskModeActivate()
  end
  if current == 3 then
  screen:clear(blanco)
  screen:print(150, 150,  "USB mode - Flash2", verde)
  screen.flip()
  screen.waitVblankStart(150)
  System.usbDiskModeDeactivate() 
  System.usbDevFlash2()
  System.usbDiskModeActivate()
  end
  if current == 4 then
  screen:clear(blanco)
  screen:print(150, 150,  "USB mode - flash3", verde)
  screen.flip()
  screen.waitVblankStart(150)
  System.usbDiskModeDeactivate() 
  System.usbDevFlash3()
  System.usbDiskModeActivate()
  end
  end
  end
  while true do
  prevpad=pad
  LeerPulsacion()
  screen:clear()
  screen:print(110, 1, ">USB menu<", blanco)
  if current==1 then 
  screen:print(1, 21, "USB flash0", verde)
  screen:print(1, 31, "USB flash1", azul)
  screen:print(1, 41, "USB flash2", azul)
  screen:print(1, 51, "USB flash3", azul)
  elseif current==2 then
  screen:print(110, 1, ">USB menu<", blanco)
  screen:print(1, 21, "USB flash0", azul)
  screen:print(1, 31, "USB flash1", verde)
  screen:print(1, 41, "USB flash2", azul)
  screen:print(1, 51, "USB flash3", azul)
  elseif current==3 then
  screen:print(110, 1, ">USB menu<", blanco)
  screen:print(1, 21, "USB flash0", azul)
  screen:print(1, 31, "USB flash1", azul)
  screen:print(1, 41, "USB flash2", verde)
  screen:print(1, 51, "USB flash3", azul)
  elseif current==4 then
  screen:print(110, 1, ">USB menu<", blanco)
  screen:print(1, 21, "USB flash0", azul)
  screen:print(1, 31, "USB flash1", azul)
  screen:print(1, 41, "USB flash2", azul)
  screen:print(1, 51, "USB flash3", verde)
  end
  screen:print(1, 200, "Pulsa arriba y abajo para seleccionar la opcion deseada(verde)", blanco)
  screen:print(1, 212, "Pulsa X para ejecutar la Opcion", blanco)
  screen.flip()
  screen.waitVblankStart()
  end


Ahora os explico por partes. Weno antes decir que como habreis apreciado este va con numeros

Código: Seleccionar todo
  if pad:down() and pad=prevPad then
  if current<4 then
  current=current+1
  else
  current=1
  end
  elseif pad:up() and pad~=prevPad then
  if current>1 then
  current=current-1
  else
  current=4
  end
  end


pad~=prevpad hace que al soltar la tecla no se vuelva otra vez a su estado inicial
If current<4 then sirve para si la variable current es menor a 4 se ejecute lo siguiente que es
current=current+1 esto suma 1 a la variable current
else significa, de lo contrario
current = 1 significa convertir la variable current en 1
elseif es una mezcla entre else e if

y lo demas es practicamente igual


Código: Seleccionar todo
 if pad:cross() and pad~=prevpad then
  if current == 1 then


if current == 1 then significa que si la variable current significa 1 en ese momento entonces...

Código: Seleccionar todo
elseif current==4 then
  screen:print(110, 1, ">USB menu<", blanco)


Y aki pues lo mismo pero para mostrar el texto diferente cada vez k se sube o se baja

Y ya esta otro tuto mas al saco
Avatar de Usuario
the_marioga
Colaborador
Colaborador
 
Mensajes: 21
Registrado: Miércoles, 17 Febrero 2010, 14:56

Volver a PlayStation Portable

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron