Indice
Introduccion
HowTo
Changelog
Screen
Controls
Timer

Introduccion a LuaFPS3

LuaFPS3 es un luaplayer para ps3. Ademas de ser el primer lua player para wii con funciones adicionales. Actualmente esta en un estado de desarrollo bastante avanzado
Gracias a ruben y tito betatesters oficiales del proyecto, y a deviante por algunos consejos.

Como usar LuaFPS3

Para usar tu script.lua predeterminado es tan simple como copiar en la raiz de tu pendrive (conectado a /dev_usb000) (que es el mas proximo al lector de BD) y a continuacion acceder al LuaFPS3 desde el XMB y darle a cargar.
Sustituye el script.lua por el tuyo. Si lo deseas tambien puedes cambiar el param.sfo y el ICON0.png. Tambien puedes cambiar la ID del pkg.
Si deseas cambiar la fuente usada para mostrar los errores sustituye error.ttf por la que tu quieras (en la carpeta USRDIR).

Changelog

1.0
Release Inicial

Screen

Nota: lo que esta entre [ ] quiere decir que es opcional, pero estos simbolos no hay que ponerlos a la hora de usar la funcion
Nota 2: Cualquier archivo que cargues debe tener ruta absoluta

Screen.color(r, g, b[, a])

Carga un color especificado en RGB en la variable asignada, tambien soporta Alpha (transparencia, aņadiendo un cuarto numero de 0 a 255)

negro = Screen.color(0, 0, 0) --Color negro opaco
negro_alpha = Screen.color(0, 0, 0, 180) --Color negro semitransparente

Screen.delay(s)

Congela la pantalla el numero de segundos especificado

Screen.flip()

Muestra todo en pantalla.

Screen.surfaceCreate([w, h])

Crea un surface, una superficie virtual que emula a la pantalla en la cual se puede mostrar texto e imagenes, opcionalmente se puede especificar el tamaņo, sino usa el tamaņo por defecto (segun la TV).

surface = Screen.surfaceCreate(320, 240) --Crea una surface de ese tamaņo y la almacena en la variable surface
surface = Screen.surfaceCreate() --Crea una surface de 640x480

Screen.surfaceBlit(x, y, surface)

Copia un surface a pantalla.

surface = Screen.surfaceCreate() --Crea una surface
Screen.surfaceBlit(1, 1, surface) --Copia la surface a pantalla en el pixel 1, 1

Screen.surfaceFree(surface)

Libera un surface.

Screen.print(x, y, text)

Muestra el texto especificado en pantalla usando la fuente por defecto (error.ttf) en las coordenadas dadas.

Screen.print(1, 1, "Hola mundo") --Muestra el texto Hola mundo en las coordenadas dadas

Screen.printSetColor(r, g, b)

Cambia el color por defecto para el texto.

Screen.clear(color[, surface])

Limpia la pantalla del color indicado entre parentesis. Este tiene que definirse previamente con Screen.color.

negro = Screen.color(0, 0, 0) --Cargamos el color negro
Screen.clear(negro) --Limpiamos la pantalla de ese color
Screen.clear(negro, surface) --Limpiamos el surface especificado de ese color

Screen.fontLoad(font_file, size)

Carga una fuente, entre parentesis se pone la rute de la imagen y el tamaņo de la letra.

font = Screen.fontLoad("dejavu_sans.ttf", 16) --Cargamos la fuente dejavu_sans.ttf en tamaņo 16

Screen.fontWrite(x, y, text, font[, r, g, b][, surface])

Muestra el texto en las coordenasdas especificadas, con la fuente previamente cargada, opcionalmente se puede elegir el color del texto y si se desea mostrar en una surface en lugar de en pantalla.

font = Screen.fontLoad("dejavu_sans.ttf", 16) --Cargamos la fuente dejavu_sans.ttf en tamaņo 16
Screen.fontWrite(1, 1, "Hola mundo", font) --Aqui mostramos el texto Hola mundo en las coordenadas 1, 1, con la fuente cargada y el color por defecto
Screen.fontWrite(1, 1, "Hola mundo", font, 255, 255, 255, surface) --En este caso el color es blanco y lo muestra en la surface especificada

Screen.fontClose(font)

Cierra y libera la fuente de la variable especificada.

Screen.drawPixel(x, y, color[, surface])

Dibuja un pixel en las coordenadas dadas, del color especificado por Screen.color, opcionalmente puede mostrarse en un surface.

Screen.drawLine(x1, y1, x2, y2, color[, surface])

Dibuja una linea desde x1, y1, hasta x2, y2.

Screen.drawBox(x, y, w, h, color[, surface])

Dibuja un cuadro sin relleno en las coordenadas dadas, con el ancho y altos especificados.

Screen.drawfillBox(x, y, w, h, color[, surface])

Dibuja un cuadro relleno.

Screen.drawCircle(x, y, r, color[, surface])

Dibuja un circulo sin relleno (r es el radio).

Screen.drawfillCircle(x, y, r, color[, surface])

Dibuja un circulo relleno.

Screen.drawEllipse(x, y, w, h, color[, surface])

Dibuja un elipse sin relleno.

Screen.drawfillEllipse(x, y, w, h, color[, surface])

Dibuja un elipse relleno.

Screen.drawRound(x, y, w, h, r, color[, surface])

Dibuja un rectangulo redondeado relleno.

Screen.drawfillRound(x, y, w, h, r, color[, surface])

Dibuja un rectangulo redondeado relleno (r es el radio de las esquinas).

Screen.imageLoadinOne(x, y, image_file)

Carga y muestra una imagen de los formatos soportados por SDL (entre ellos bmp, jpg, png o tiff). En el parentesis estan X, Y y la ruta de la imagen.

Screen.imageLoad(image_file)

Carga una imagen de los formatos suportados por SDL y la almacena en una variable.

image = Screen.imageLoad("image.png") --Cargamos image.png y la almacenamos en la variable image

Screen.imageBlit(x, y, image)

Muestra la imagen cargada en las coordenadas dadas.

Screen.imageFree(image)

Libera la imagen cargada.

Controls

Nota: lo que esta entre [ ] quiere decir que es opcional, pero estos simbolos no hay que ponerlos a la hora de usar la funcion

Controls.read(pad)

Examina los pad en busca de eventos de botones y retorna el resultado. Hay 8 pad, los cuales son 0->Mando 1, 1->Mando 2, 2->Mando 3, etc...

pad = Controls.read(0)

Controls.setSixaxis(pad, enable)

Activa el sensor sixaxis del mando elegido. Enable: 1-> Encendido, 2-> Apagado

Controls.setSixaxis(0, 1)

Controls.cross(pad)

Comprueba si se ha pulsado el boton X en el pad especificado. A continuacion una lista de todas las funcions de pad

Spoiler: Mostrar/Ocultar

pad1 = Controls.read(0) --Examinamos el wiimote 1
if Controls.cross(pad1) == 1 then --Comprobamos si se ha pulsado X en el pad 1
Screen.print(1, 1, "Estas pulsando X") --Mostramos un texto
end

Timer

Nota: lo que esta entre [ ] quiere decir que es opcional, pero estos simbolos no hay que ponerlos a la hora de usar la funcion

Timer.new([0])

Crea el timer, entre parentesis el tiempo de inicio

Timer.start(timer)

Inicia el timer

Timer.time(timer)

Obtiene el tiempo del timer

Timer.stop(timer)>/p>

Detiene el timer

Timer.reset(timer[, 0])

Reinicia el timer, entre parentesis la variable del timer y opcionalmente el tiempo de inicio

Timer.free(timer)

Libera el timer

(SE USAN IGUAL QUE LOS DE Lua HM7 de PSP, SI NECESITAIS DOCUMENTACION: http://pipagerardo.fortunecity.es/Tutorial_LUA_PSP_pipagerardo.html#FUNCIONES_DE_CONTROL_DE_TIEMPO)