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 avanzadoGracias 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).
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
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