Ahora, vamos a hacer nuestro primer programa para la PSP en Lua. Recuerda que durante todo el tutorial vamos a usar la versión de Windows del LuaPlayer. Algunas funciones no funcionan bien o no funcionan en la versión de Windows. Por ejemplo, el sonido no es muy bueno. Algunas nuevas funciones recientemente añadidas al LuaPlayer ni siquiera funcionan en la versión de Windows. Pero, para las cosas que haremos, todo debería ir bien. Deberías poner las carpetas luaplayer y luaplayer% en la ruta PSP/GAME de tu PSP. Si en cualquier momento quieres probar tu programa en la PSP, pon tu script.lua en el directorio que contiene el archivo EBOOT.PBP y lanza el LuaPlayer.
Abre tu archivo script.lua con el editor de texto elegido. El Block de notas está bien si es el único que tienes. En la primera parte del tutorial teneis un programa alternativo al Block de notas, bastantes vistoso para escribir y ver las códigos de la programación: NotePad++.
Nuestro primer programa simplemente va a mostrar algo en la pantalla. ¡Empecemos!
Comentarios: Lo primero que vamos a aprender es cómo poner comentarios en tu código. Los comentarios se usan para escribir anotaciones e información sobre tu código. Es muy útil en caso de que dejes a otros mirar tu código. Créeme, también te ayuda a ti mismo. Si paras un proyecto, lo retomas meses después y miras el código, seguramente estés perdido si no usaste comentarios. ¿Cómo escribimos comentarios? Es lo que vamos a hacer a continuación. Comencemos un nuevo programa con un título y un comentario sobre el autor.
--Mi primer programa en Lua
--Autor: TuNombre
*Pincha sobre la imagen para agrandar
Como puedes ver, los comentarios se escriben comenzando con dos guiones (--). Todo lo que escribas después no será leído como código y será saltado e ignorado completamente. Pero, date cuenta, debes tener el comentario en la misma línea de código. Si usas la tecla return para ir a otra línea, tendrás que usar los guiones de nuevo para comentar esa nueva línea. Es lo que hice en el ejemplo de arriba. Esto es lo que deberías hacer para usar comentarios por ahora. No es tan malo, ¿verdad?
Creando un objeto color: Lo próximo que vamos a hacer es crear un objeto para dejarnos imprimir texto en pantalla. Le asignaremos un color específico y lo usaremos con el comando print. Aquí va el código. Añádelo a tu programa, asegurándote de ponerlo en la misma línea. Debes también saltar una línea para separar el código del título.
ADVERTENCIA: Lua diferencia las mayúsculas de las minúsculas, por lo que los comandos deben escribirse exactamente como los muestro. El código de debajo no funcionará si escribes color en vez de Color.
rojo = Color.new(255,0,0)
*Pincha sobre la imagen para agrandar
Ya hemos creado nuestro objeto color. Básicamente esto crea un color usando valores RGB y almacenándolos en una variable, llamada rojo en este caso. Puedes obtener los valores de los colores RGB de cualquier programa de imágenes, incluso del Paint.
La variable rojo es donde la información de color es almacenada, pero eso no significa que si tú la reemplazas por la palabra azul, ésta vaya a cambiar al color azul. El nombre de la variable no tiene nada que ver con el color que contiene. El color procede del valor RGB. Así que si usas BigFatTurkey en vez de rojo no habrá ninguna diferencia. Si no entiendes a lo que me refiero cuando hablo de variable, no te preocupes porque aprenderemos todo sobre ellas muy pronto.
Imprimir en pantalla: Ah, la parte más excitante del programa. Usaremos ahora el comando print para imprimir texto en pantalla. Pon este código debajo de tu última línea de código:
screen:print(100, 100, "Mira! He hecho que aparezca texto!", rojo)
*Pincha sobre la imagen para agrandar
Vamos a desmenuzarlo para que lo puedas entender: screen:print simplemente dice a nuestro programa que imprima algo en pantalla. Los siguientes valores se llaman argumentos y cada función puede tener diferente número y tipos de argumentos. En la función print estamos usando cuatro argumentos, son: screen:print(x, y, texto, ObjetoColor) El primer argumento, x, dice al programa a cuantos píxeles desde la izquierda de la pantalla debe imprimir el texto. El segundo, y, dice al programa a cuantos píxeles desde la parte alta de la pantalla debe imprimir el texto. El tercero es donde escribes el texto que quieres mostrar en pantalla. Recuerda que debes ponerlo entre comillas. Y el cuarto argumento es el objeto color que hemos creado anteriormente. Esto dice al programa que muestre el texto usando el color rojo, el cual hemos creado. Recuerda que debemos crear el color ANTES de usarlo en una sentencia print.
Offscreen Buffer To Onscreen Buffer: El próximo fragmento de código puede parecer confuso. Pero no te preocupes, incluso si no llegas a comprenderlo completamente. Pon esto debajo de tu último código, como siempre.
screen.flip()
*Pincha sobre la imagen para agrandar
En pocas palabras, todo es dibujado primero en offscreen (fuera de pantalla), por lo que tenemos que usar este comando para que aparezca en pantalla.
¿Un bucle?: Lo próximo que vamos a hacer es crear un programa bucle. Lo que hace es que se repita una sección de código indefinidamente hasta que algo le haga parar. En este caso, nuestro programa no terminará en cuanto el texto aparezca. Sin esto, nunca veríamos el texto porque el programa acabaría demasiado rápido. Este es el código, ya sabes donde ponerlo.
while true do
screen.waitVblankStart()
end
*Pincha sobre la imagen para agrandar
Más tarde profundizaremos en los bucles. Por ahora es suficiente saber que eso tiene que estar ahí. Guarda tu fichero y haz doble click sobre tu archivo script.cmd para lanzar tu programa. Si todo fue bien, deberías ver el texto rojo en pantalla.
Comentarios
Gracias
Por fin e podido crear mi primer texto pero me falta mucho por entender y tomo apuntes para que no se me olvide.
texto con colores
una pregunta vi en la imagen del post que en el note pad los codigos estan resaltados de colores y en el mio no, e visto en el post principal el programa:PSP lua highlight file pero el link esa ma me sale problema al abrir la pagina ayuda .
Soy un ultra gamer de juegos super dificiles aqui esta mi canal de youtube:
http://www.youtube.com/user/ULTRAGAMERXD
Para que el notepad++ te
Para que el notepad++ te coloree el code, debes ir al menu Lenguaje y seleccionar Lua, o guardar tu script con extensión lua y notepad++ lo coloreará automáticamente.
Ve a la barra de
Ve a la barra de herramientas, donde dice lenguaje, pones LUA.
Esto se puede
ver en mi psp ya que lo intento y me sale asi:
An error has occured.
ms0:/psp/game/luaplayerhmv3/script.lua:6.000000:badargument#3.000000 to 'print' number expected, got string)
Trabajando en hb esperenlo!!
usa luadev
usa luadev
jeje
excelente me ha
funcionado a la perfección
esto no
esto no funciona
screen.waitVblankStart()¿Qué intérprete estás usando?
¿Qué intérprete estás usando?
lo que dice en el tutorial,
lo que dice en el tutorial, pero quite ese codigo
<span style="color: #ff0000;">Mira! He hecho que aparezca texto!</span>
<span style="color: #ff0000;">pero se congela ahi </span>
<span style="color: #ff0000;">y no se porque sale estas letras de colores XD</span>
firma vacia porque no dejan poner nada mas :P
Digo si usas LuaHM, LuHMv2,
Digo si usas LuaHM, LuHMv2, LuaDEV, LPE, LUAPGE...
uso LUA player v0.20
uso LUA player v0.20
Eso
Eso es viejisimo, actualizate a Lua Dev o HM7..
Desde Navideathh
si, a mi tambien me ha funcionado, me estoy dando cuenta de todo ese trabajo que llega ha hacer un programador solo por poner una simple frase buff menudo estres en poco tiempo.
Espero mejorar con el tiempo.
Jajaja, paciencia...
Todo se aprende, yo no sabia en 2 meses se un monton ya...
Saludos.
Exelente tuto
Muchas graias si me funciono hehehe
yo lo que hice por si las dudas guarde todos los cofigos en mi compu con el bloc de notas
y ahora al segunto tuto
Solo quien ha comido ajo puede darnos una palabra de aliento XD XD XD
Suerte tonivans echale ganas
Suerte tonivans echale ganas
Bieeeeen!!
Bieeeeen!! lo logreeee!!!
Ahora al 2º tuto!!
exelente!
listo, lo logre a la tercera. xD
Muchas gracias ya entendi
Muchas gracias ya entendi algo del psp, y la programacion de ds no es diferente a la de la psp jeje pero por aora no lo puedo probar porq no estoy en mi computadora ojala te pudiera donar algo pero we
Venga ya
Tutorial 1, listo!
A lo que sigue!
ayuda porfavor
vereis no se donde debo guardar mi "programa" llamado mira.lua(el nombre no importa) el caso es que lo e guardado en difirentes lufares pero nada primero lo meti en la carpeta PSP/GAME sin mas en la raiz y en otras mas que no recuerdo el nombre.
porfavor que alguien sea amable y que me contexte
salu2,
negro joe
si esta ahi nunca ba
si esta ahi nunca ba afuncionar ya que solo kieres ver el programa.debistes aver leido que necesitas Lua player para windows (Pc) o para el Psp asi que te lo bajas y lo abres tu codigo con Lua player y ya veras qe se mirara tu programa
Nota: regresate en el tuto "iniciarse de una forma alternativa en lua" y te aparecera el programa lusa2
Con Palabras Sencillas, Hoy Quiero Decirte Me Gustas, De Pies A Cabeza, Que Es Mas claro Que El Agua Que Te Necesito, Me Gustas Todita Completa!
"Banda El Recodo(8)MegustaTodoDeti"
Funciono! Gracias chicos de
Funciono!
Gracias chicos de SB ahora estoy aprendiendo LUA :D!
Salu2!
MUUYYYY BUENO
MUYYYY bueno
el tuto
se paso
='.'=
WOOOW.
wooooooow muchísimas gracias, lo conseguí!! Salió MIRA, HE HECHO QUE APAREZCA TEXTO en rojo!!!!
Ahora a seguir con los tutoriales!
me
aparece el texto como se supone pero se sierra muy rapido y se me crea un documento es eso o no? EDITO = ya, algunas veses no pasa y se queda la pantalla por q?
ayudaa!
aveer lo e consegido acer pero e pues un titulo y aora lo k kiero acer esk el titulo desaparezca y aparezca otro, como lo ago? yo e exo esto aver si funcionaba pero nada
--nuyevp proyecto
rojo=Color.new(255,0,0)
screen:print(100, 100, "mi juego para psp.", rojo)
screen.flip()
verde=Color.new(0,255,0)
screen:print(100, 100, "BY BBC.", verde)
screen.flip()
while true do
screen.waitVblankStart()
end
respondedme en mensaje privado xfavooor
EDITADO POR NITEMAN: Firma eliminada por exceder las normas.
Ser el mas rapido no significa ser el mejor
Primero para que
tu código este más acomodado, pon la variable verde debajo de rojo, son colores en general, ahora en el lugar donde iría verde agrega un screen:clear(), espero te funcione.
SceneBeta.com
muy buena informacion!!!
pedazo de tutto me a servido de fabula, facil ameno y rapido para torpes como yo jejejeje un saludo family
Muchisisisimas gracias...
Desde hace mucho estaba tratando de entrarle a la programacion y no sabia como comenzar..... asi k creo k este sera un buen comienzo, k mejor q comenzar a hacerlo con mi psp . Bueno muchas graxx por el tuto se te agradece muchoo.
wow
wow que wapo jeje lo consegui que apareciera texto en el pc y en la psp muxas gracias elender ahora voy a leer el 2do tutorial
Buen tuto
felicidades
Formato Fuente
¡Hola!
Estoy intentando crear un juego y me he dado cuenta que el texto es demasiado pequeño para leerse bien. ¿Hay alguna forma para cambiar el tamaño o el tipo de letra (Arial,...)? ¿Y se puede poner en negrita, cursiva o subrayada?
Espero que se pueda....
Gracias
¿A qué texto te refieres
¿A qué texto te refieres exactamente? ¿Al que aparece en la PsP cuando mandas mostrar un texto? Si es asÃ, sà que se puede cambiar el tipo de fuente y el tamaño. Pregunta a Google, "el que todo lo sabe". Saludos.
Ayuda !!
hola, disculpen con estos tutoriales es suficiente para hacer un juego?? de que pagina puedo sacar mas scripts o tutoriales o ayuda !! eske kiero hacer un juego con todo empeño !! ayuda por favor ! nesesito mas fuentes de tutoriales !
Estos tutoriales que vamos
Estos tutoriales que vamos publicando van dirigidos a los programadores novatos que quieran empezar a programar sus propios juegos para la PsP. Se ha empezado desde cero y poco a poco ha ido subiendo el nivel. Sé de buena tinta que hay usuarios que se están animando a crear juegos utilizando LUA, ¿verdad, N2eiDer? Si te fijas en la sección Juegos de esta misma web, cada vez aparecen más juegos programados en LUA, lo que significa que LUA es un lenguaje de programación válido para desarrollar juegos.
A tu pregunta de que si estos tutoriales son suficiente para crear un juego, la respuesta es que no, aún es pronto, pero con la inestimable ayuda de Google y partiendo de la base de estos tutoriales, puedes empezar a crear algo interesante. Pides más webs con documentación de LUA, qué mejor que preguntar a Google, pero aquà te dejo dos oficiales (en perfecto inglés, of course):
http://www.lua.org/manual/5.1/
http://lua-users.org/wiki/TutorialDirectory
Como ya te han dicho en otro post, en Beta estaremos encantados de poder disfrutar de los juegos que programes, asà que ánimo y cuando tengas algo envÃanoslo. Saludos.
Gracias
Muchas gracias por las paginas jeje y por la ayuda elender, ahora si voy mejorando jeje, oye tengo una dua y no se si tu me la puedas responder, si restoy programando para Lua enun block de notas no importa los espaciones que de entre comandos?? es decir es lo mismo dar mas espacios a que si escribo los scripts con el mismo exacto espacio que tu pones en los tutoriales? tambien tengo otra, aveces no me funciona el codigo ya que es por que esta mal alguna palabra y cuando lo ejecuto simplemente no lo abre, entonces corrijo y lo abre, pero no hay algun modo de ver en que parte esta el error exactamente?? por que si llego a hacer un juego imaggina lo que me tardaria buscando el error... Les prometo un juego muy pronto..
Supongo que por espacios
Supongo que por espacios entre comandos te refieres a las tabulaciones al comienzo de cada lÃnea. Creo que ya comenté anteriormente que no son obligatorias pero sà muy convenientes porque el código gana en claridad. Puedes borrar las tabulaciones si quieres, pero no te lo recomiendo. Ah, y mejor que el bloc de notas del Windows te recomiendo el Notepad++, que es gratuito y tiene soporte para el lenguaje Lua, verás como se ponen de colores las palabras y como se numeran las lÃneas, muy útil.
En cuanto a que cuando hay un error la ventana se cierra muy rápido, es un tema difÃcil. Puedes pasarlo a la PsP y ahà sà puedes ver qué error da, pero si no quieres estar todo el rato pasando a la PsP yo lo hago de una forma muy cutre: creo un acceso directo del script.cmd y en propiedades del acceso directo le digo que la ventana aparezca en la parte de abajo, cuando ejecuto le doy al botón imprimir pantalla y luego lo pego en el paint, asà veo el error que da. Ya avisé que era muy cutre
Esperamos con ganas que subas tu primer juego en Lua. Asà podremos disfrutar de él y aconsejarte como mejorarlo. Saludos.
Pause
Cuando te aparece un error la pantalla desaparece muy rapìdamente, para evitarlo al crear el script escribe pause en la segunda linea quedaria asi:
luaplayer script.lua
pause
Ya dije que mi solución era
Ya dije que mi solución era muy cutre Gracias gogmaghog
Limites
hola, de verdad que esoy entrado con esto de LUA ! jeje quisiera saber hasta que limites puedo llegar con lua, es decir...como que es lo maximo que puedo crear? un reprogductor mp3 o de video o que?? otra duda..el luaplayer para psp si lo van actualizando? y una mas, que es mejor LUA o programar juegos que no corren en lua(no se como se llame esos ejecutables)
Son muchas preguntas y te
Son muchas preguntas y te voy a dar mi opinión personal, que no quiere decir que sea la verdad absoluta, habrá gente que piense cosas distintas.
Yo no sé donde están los lÃmites de Lua, pero he visto juegos homebrew muy buenos creados en este lenguaje. Lua no soporta mp3 actualmente, pero hacer un reproductor no serÃa complicado en caso de que en un futuro soporte ese formato (echale un vistazo al tutorial de Sonidos). En cuanto a vÃdeo, estoy un poco perdido, no he visto nada acerca de eso.
Respecto a tu última pregunta, debo decir que los juegos comerciales están escritos en C/C++ y no en Lua. A mi juicio, Lua es una buena forma de empezar a programar para la PsP, pero es posible que se quede corto para los programadores con un alto nivel. Si quieres un lenguaje poderoso pasate a C/C++.
Saludos.
Hola, muchas gracias
Hola, muchas gracias gogmahoh y elender me ha servido de mucho su ayuda =) jeje disculpen si me ekivoko en sus nombres esque todavia no me los aprendo bie, de verdad, gracias =D
duda
hola eh echo todo bien y no funciona, me baje el script y lo puse en la carpeta del lua de windows y lo guardo como .cmd y no funciona abri el script y copie el contenido y lo pegue en un archivo que trai por defaul que dice test y ahi si funciona, que esta mal?
Es muy sencillo
Es muy sencillo. Al archivo llamado script.lua, que es el que contiene el código, no hay que cambiarle la extensión. Este archivo simplemente lo metes en la misma carpeta donde está el archivo "luaplayer.exe". Luego edita el archivo "script.cmd" y comprueba que ponga: "luaplayer script.lua" (sin las comillas).
Prueba asà y nos comentas.
Ayuda
hola, ya le hice asi y no, mira lo hice yo y no funciono luego baje el script tuyo y lo guarde como script.cmd , y lo ejecuto y se abre una ventana rapidisimo y se cierra, lo que hice fue copiar el codigo y pegarlo en un archivo que viene de muestra que se llama test y asi si me funciona =S que estara mal?
Es importante que el archivo
Es importante que el archivo con extensión LUA se llame script.lua porque a la hora de pasarlo a la PsP ése es el nombre válido. Te cuento exactamente qué es lo que tienes que hacer para que te funcione:
Si sigues esos sencillos pasos te deberÃa funcionar sin problemas. Cuentame si lo has conseguido o no. Saludos.