Publicidad

Anuncios Google

Programación para PS3 en Lua

 

Bien como sabemos que ya esta en desarrollo un Lua Player para PS3, bien aquí les traigo una pequeña explicación en español de las funciones que utiliza este Player. Empecemos.

Graficos

Modulo InitGFX(int x, int y)

InitGFX (ancho, alto)
--este debe ser llamado antes de llamar a los gráficos de otras funciones relacionadas, por ejemplo, si su televisor es de 720p que ustedes llamarían InitGFX (720,480)

Modulo BeginGFX() este es el modulo que dará salida a la pantalla, debemos usarlo antes de presentar algo en pantalla es mas o menos como

screen.flip() --LuaDev

Modulo DrawText(int x, int y, string.format("text"), surface) que usaremos para imprimir texto en pantalla, int x: es la posición "x" de la pantalla,  int y: es la posición y de la pantalla, char text: es el texto a imprimir, surface: es la superficie (ver ejemplos mas abajo) si no se define se enviara en la pantalla principal. Notas: Para los diseñadores que usan PhotoShop, la superficie son como las capas sabemos que si colocamos algo en la capa 2 se vera por encima de la capa 1, mas o menos eso

DrawText (5, 5, Hola Mundo, Viva la Scene)  

Modulo DrawCircle(int x, int y, int size, int r ,int g, int b, int a)  este modulo sirve para dibujar un circulo en la pantalla, los parámetros son los siguientes:

  • int x: Posición x de la pantalla
  • int y: posición y de la pantalla
  • int size: Numero de pixeles en ancho del circulo
  • int r, int g, int b: son los parámetros de colores que van desde 0-255 R=Rojo, G=Verde, B=Azul
  • int a: Es el valor alfa que ba desde 0-255

DrawCircle(250, 250, 350, 96, 96, 96, 255)
--Dibujara un circulo en la posicion X 250, Y 250, de 350 PX (Pixeles), de color gris (los tres 96 "96,96,96" hace un color gris en los códigos de colores RGB)

Modulo BlitToScreen(Surface)

se debe llamar a esto en todas las superficies que desea ser dibujado en la pantalla principal (ver definición de las superficie mas abajo)

Modulo EndGFX()

Esta función debe ser llamada después de dibujar todo lo que quería en el marco actual.

Modulo Screenshot(string.format("filename")) 

Esta función hace una captura de lo que se esta dibujando en nuestra pantalla en ese mismo instante

Controles

modulo initPads(int num)

Este modulo lo debemos llamar antes de leer cualquier numero de los controles de la PS3, se recomienda que sea 7

initPads(7)

Modulo setsixaxis(padnum,bolean(enable/disable))

Esta función debe de llamarse antes de ponerse a funcionar cualquiera de los padnum de los siaxis (ejes), en el padnum debemos poner el numero del axis que queremos activar, para activar ponemos "0" y para desactivar ponemos "1", si solo existe un pad se pone "0"

Sentencia Boton(padnum) 

Devuelve True si se a presionado y False si no se esta presionando, los botones son

  • up - arriba
  • down - abajo
  • left - izquierda
  • right - derecha
  • triangle - triangulo
  • square - cuadrado
  • circle - circulo
  • R1 - R1
  • R2 - R2
  • R3 - R3
  • L1 - L1
  • L2 - L2
  • L3 - L3
  • start - start
  • select - select

RanalogoX

Retorna la posición Y del stick analógico derecho, en padnum va el número del mando.

LanalogX(padnum)

Retorna la posición X del stick analógico izquierdo, en padnum va el número del mando.

LanalogY(padnum)

Retorna la posición Y del stick analógico
izquierdo, en padnum va el número del mando.

Xaxis(padnum)

Retorna el valor del axis X si el sixaxis
está activado, en padnum va el número del mando.

Yaxis(padnum)

Retorna el valor del axis Y si el sixaxis está activado, en padnum va el número del mando.

Zaxis(padnum)

Retorna el valor del axis Z si el sixaxis está activado, en padnum va el número del mando.

Gaxis(padnum)

Retorna el valor de giro si el sixaxis está activado, en padnum va el número del mando.

 SURFACE

De momento solo hay una superficie (capa) (sólo en formato bmp (de momento)). Debe inicializar la superficie llamando a  surface().

mySurface = surface ()

Debes inicializar el surface antes de poder empezar a utilizar cualquiera de sus métodos, a partir de ahora, vamos a utilizar "mySurface" como el ejemplo de las definiciones de los métodos o funciones.

mySurface: LoadIMG (bmpfile)

Este se carga un archivo de imagen BMP en “mySurface".

mySurface: setRectPos (x, y)

Esto establecerá la posición donde “mySurface” se dibujará. X es el posición x donde se dibujará, e y es la posición y.

mySurface: getRes ()

Esto devolverá la anchura
y la altura en píxeles que ocupará la
superficie pintada, es necesario llamar a esto de una
manera similar a...

mySurfaceWidth, mySurfaceHeight = mySurface: getRes ()

 

Faltan: Ejemplo de programación en Lua para PS3




Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

A ver si abismo lo pone en

A ver si abismo lo pone en los tutoriales de programación.

Imagen de Monty - Calabato64

¿y por qué tiene que ser

¿y por qué tiene que ser Abis? Con el trabajo que ya tiene manteniendo la comunidad...

Imagen de Cristian Funky

Eso es verdad, ademas los

Eso es verdad, ademas los Editores y Administradores de la comunidad para eso estan, no le carguemos más trabajo a Abismo del que tiene.

Imagen de Cristian Funky

Hombre la verdad es que está

Hombre la verdad es que está bien el tutorial, pero yo le quitaria lo de [Tutorial]...[Tutorial]

see

ya se lo quite, aver si lo ponen en la sección de tutoriales 

Imagen de Cristian Funky

Hombre si es un buen post,

Hombre si es un buen post, para tí al menos y no es copy-paste puedes preguntarle a algún admin por si está ocupado y no vió el post.

ya le dire

me esforze porque primero lo revise en el Micrisotf Word para que me corrigiera cosillas y después entonces lo pase

Imagen de chocodino

si tuviera un ps3 xD

me pondría a crear homebrews en lua xD, pero no, así que solo puedo ver a la comunidad crecer.

Imagen de Kyngo

Lo mismo digo

Sólo podemos observar como esta comunidad crece, y ojalá lleguéis a la altura de la Scene de Wii, que está MUY evolucionada... (tanto que hasta podrias crear tu propio firmware en poco... xD)

Bueno, ¡suere a la PS3.SceneBeta!

PD: ¡Felices fiestas!



Wii 4.3E, sobrevivió a un Full Brick gracias al Chip InFeCtuS... ^^
http://elrapdelpinguino.wordpress.com
Kyngo's System Checker - www.scenebeta.com
-----------------------------------------
Debemos aprender a aceptar a los demás por cómo son, no por quienes son.
Si seguimos siendo tan superficiales, el mundo acabarña realmente peor...

pos io no tengo

y ya estoy probando con el emulador

 

Saludos

Emulador de PS3 o de Wii?

Emulador de PS3 o de Wii?

en el pc, para poder correr

en el pc, para poder correr los scripts en el pc en vez de tener que ponerlos en la ps3

Imagen de ktix007

Resolución

lo de la resolución está mal. Si la TV es de 720p debes poner "InitGFX (1080,720)" y para 1080p "InitGFX (1920,1080)"

y en DrawText el texto creo que debe ir así:

DrawText(X, Y,string.format("TEXTO"))

 

segun el autor

es asi como lo puse, estaba leyendo el mismo tuto del autor

n3dexo he avanzado el

n3dexo he avanzado el tutorial, lo tengo en un word cuando quieras tel envio

ok te agrege ya

xDD

Imagen de ktix007

efectivamente

eso es lo que pone en la documentación pero seguramente está equivocado y lo se porque lo he probado y se ve todo distorsionado y repetido.

Además es de lógica que para una pantalla de 720p (1080x720 pixels) pongas (1080,720) y no (720,480)

ok muchas gracias

Gracias por la ayuda

más completo

 

 

Gráficos

 

InitGFX (ancho, alto)

 

Este
debe ser llamado antes de llamar a los gráficos de otras funciones
relacionadas, por ejemplo, si su televisor es de 720p que ustedes llamarían
InitGFX (720,480).

Módulo BeginGFX() este es el modulo
que dará salida a la pantalla, debemos usarlo antes de presentar algo
en pantalla es más o menos como un screen.flip() de LuaDEV.

Módulo DrawText(int x, int y, char text,
surface) 

Lo usaremos para imprimir texto en pantalla, int x: es
la posición "x" de la pantalla,  int y: es
la posición y de la pantalla, char text: es el texto a imprimir (debe ir
entre comillas), surface: es la superficie (ver ejemplos más abajo) si no se
define se enviara en la pantalla principal. Notas: Para los diseñadores que
usan PhotoShop, la superficie son como las capas sabemos que si colocamos algo
en la capa 2 se verá por encima de la capa 1, más o menos eso:

DrawText (5, 5,
“Hola Mundo”, surface1)  

Módulo DrawCircle(int
x, int y, int size, int r, int g, int b, int a)

Este módulo sirve para dibujar un círculo en la
pantalla, los parámetros son los siguientes:

·    

  int x: Posición x de
la pantalla

·    

  int y: posición y de la
pantalla

·    

  int size: Numero de pixeles en ancho
del circulo

·    

  int r, int g, int b: son
los parámetros de colores que van desde 0-255 R=Rojo, G=Verde, B=Azul

·    

  int a: Es el valor alfa que va
desde 0-255

Módulo BlitToScreen(Surface)

Se debe llamar a esto en todas las superficies que
desea dibujado en la pantalla principal (véase la definición de la superficie
de más abajo).


CONTROLES

 

initPads(número)

Se tiene que poner antes de leer cualquier
pulsación, antes del bucle principal. Lo más recomendable es poner initPads(7).

 

setsixaxis(padnum, número)

Esta función se tiene que poner antes de
usar cualquier sixaxis. En padnum va el número del mando que quieres activar o
desactivar. Si solo hay un mando, poned 0 en "padnum". Si queréis
activarlo, poned 1 en "número" o para desactivarlo, poned 0.

 

botón(padnum) 

Devuelve true si el botón está pulsado, y
falso no está pulsado. Padnum es el número del mando que deseas comprobar, pero
si solo un mando está conectado, utilizar 0.

Donde va botón puede ir:

·    

 up

·    

 down

·    

 left

·    

 right

·    

 triangle

·    

 square

·    

 circle

·    

 cross

·    

 R1

·    

 R2

·    

 R3

·    

 L1

·    

 L2

·    

 L3

·    

 start

·    

 select 

RanalogX(padnum) 

Retorna la posición X del stick analógico
derecho, en padnum va el número del mando.

 

RanalogY(padnum)

Retorna la posición Y del stick analógico
derecho, en padnum va el número del mando.

 

LanalogX(padnum)

Retorna la posición X del stick analógico
izquierdo, en padnum va el número del mando.

 

LanalogY(padnum)

Retorna la posición Y del stick analógico
izquierdo, en padnum va el número del mando.

 

Xaxis(padnum)

Retorna el valor del axis X si el sixaxis
está activado, en padnum va el número del mando.

 

Yaxis(padnum)

Retorna el valor del axis Y si el sixaxis
está activado, en padnum va el número del mando.

 

Zaxis(padnum)

Retorna el valor del axis Z si el sixaxis
está activado, en padnum va el número del mando.

 

Gaxis(padnum)

Retorna el valor de giro si el sixaxis
está activado, en padnum va el número del mando.

 

SURFACE

 

De momento solo hay una superficie
(capa) (sólo en formato bmp (de momento)). Debe inicializar la
superficie llamando a  surface().

mySurface = surface ()

Debes inicializar el surface antes de poder empezar a
utilizar cualquiera de sus métodos, a partir de
ahora, vamos
a utilizar "mySurface" como el ejemplo de las
definiciones de los métodos o funciones.

mySurface: LoadIMG (bmpfile)

Este se carga un
archivo de imagen BMP en “mySurface".

mySurface: setRectPos (x, y)

Esto establecerá la posición donde
“mySurface” se dibujará. X es el posición x donde se dibujará, e y
es la posición y.

mySurface: getRes ()

Esto devolverá la anchura
y la altura en píxeles que ocupará la
superficie pintada, es necesario llamar a esto de una
manera similar a...

mySurfaceWidth, mySurfaceHeight = mySurface: getRes ()

 

Gracias ya estoi editando

Para publicarlo Gracias Xerpy

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.