Foros PS Vita y PSP

Foros PS Vita y PSP (http://www.todopsp.com/foros/index.php)
-   TUTORIALES (http://www.todopsp.com/foros/forumdisplay.php?f=42)
-   -   Tutoriales de programacion en LUA - Capitulo 6 (http://www.todopsp.com/foros/showthread.php?t=97558)

marioga 20/12/08 01:27:43

Tutoriales de programacion en LUA - Capitulo 6
 
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:

  --colores
  blanco = Color.new(255, 255, 255)
  verde = Color.new(0, 255, 0)
  azul = Color.new(0, 0, 255)
  --Funciones y variables
  current = 6
  --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:

  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:

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:

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

Seritx 20/12/08 19:52:54

Re: Tutoriales de programacion en LUA - Capitulo 6
 
A mi esto no me funca cuando intento entrar en alguna opcion de Flash me tira este error:

Error: SCRIPT.LUA : 40: attempt to call field "usbDevFlash0" (a nil va lue)

PD: Peazo tutos tio +1 felicidades.

salu2

marioga 21/12/08 01:12:17

Re: Tutoriales de programacion en LUA - Capitulo 6
 
grax, pues no se usas lua player hm 7?

Seritx 21/12/08 11:54:48

Re: Tutoriales de programacion en LUA - Capitulo 6
 
Cita:

Empezado por marioga (Mensaje 998303)
grax, pues no se usas lua player hm 7?


Uso HM 8

Salu2

marioga 21/12/08 18:30:29

Re: Tutoriales de programacion en LUA - Capitulo 6
 
prueba con el hm7 a ver k tl

Seritx 21/12/08 18:52:05

Re: Tutoriales de programacion en LUA - Capitulo 6
 
Cita:

Empezado por marioga (Mensaje 998479)
prueba con el hm7 a ver k tl

Ok thnks

Edito: ya me funciona

salu2

marioga 01/02/09 17:02:45

Re: Tutoriales de programacion en LUA - Capitulo 6
 
tengo 2 tutos nuevos, ahora los pongo


La franja horaria es GMT +2. Ahora son las 15:11:34.

Powered by: vBulletin, Versión 3.8.5
Derechos de Autor ©2000 - 2020, Jelsoft Enterprises Ltd.
Traducción VBulletin por vbulletinhispano.com