Anuncios Google

DudaLua(FUNCIONES)

Bueno pues estoy comenzando en esto de LUA, y tengo un problemilla el cual es este:

 

function imprimirMensaje()
screen:print(100,100, "¡Esta es mi primera función en LUA!")
end
 
screen:clear()
function imprimirMensaje()
screen.flip
while true do
 star.waitVblankstart
end

  • Error : SCRIPT.LUA6 : Function arguments expected near 'Imprimirmensaje'

    Pres star to restar

 

Me podrian ayudar y decirme cual es el error, gracias por adelantado.


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.
Imagen de -chus-

El error

El detalle esta en que no lo has puesto en el bucle:

 

function imprimirMensaje()
screen:print(100,100, "¡Esta es mi primera función en LUA!")
end
 
while true do
screen:clear()
imprimirMensaje()
screen:flip()
screen.waitVblankStart()
end

 

Mira el ejemplo que eh puesto...espero y sea de ayuda...saludos


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de moikop

En realidad no hace falta...

Ya que llamaría una sola vez a la función, haría lo que tiene que hacer y ya. En cambio si lo pones dentro del bucle infinito, se repitiría una y otra vez. En resumen, si se la llama fuera es efectiva igual, pero depende de qué se quiera hacer...


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Imagen de -chus-

Es verdad

Tienes razon se ejecuta y solo muestra una vez el texto, pero yo pienso que lo quiere hacer como un hello world pero en esta ocacion con una funcion y que se muestre siempre el texto por eso lo puse asi XD el unico detalle que tiene es lo de 2 veces la funcion y la 2da funcion no esta cerrada por eso el error, debe de quitar lo de funcion XD pero al menos asi como lo puse se ve mejor jaja saludos


                                          Mis Homebrew´s

 http://psp.scenebeta.com/noticia/memorama-games#comment-803033


Imagen de PhAnThOm

Chus dice lo correcto...

Chus dice lo correcto... ademas si ves bien, donde no esta el bucle.... vuelve a poner "function"...

y asi no se yama parausar esa funcion... sino que se pone el nombre que se le a dado a la funcion...

ej:

while true do

screen:clear

miprimerprograma()

screen:flip

... y asi suscesivamente lo que siga...

ai es donde esta elproblema... donde yama a la funcion X() poniendo otra ves el nombre para "crear la funcion"...


PhAnThom...

COBHC...


Imagen de moikop

Yo no hable del código...

Yo dije que si se llama a una función FUERA del bucle infinito (NO dije NADA de la forma de llamar la función, puesto que NO estaba corrigiendo el código), la función se ejecuta igual. Ejemplo:

function imprimirMensaje()
screen:print(100,100, "¡Esta es mi primera función en LUA!")
end
 
screen:clear()
imprimirMensaje()
screen.flip()
 
while true do
 screen.waitVblankStart()
end

Prueba eso y verás que funciona correctamente. Eso prueba que si llamas a la función desde fuera del while, SE EJECUTA IGUAL. No sé que decis vos de la forma de llamar funciones y no sé qué...


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.

No preguntes por MP, mejor pregunta aquí.

Línea 5

Cuando llamas a tu función, ya no necesitas usar la palabra reservada function (se usa sólo para declarar la función)

En resumen, quita la palabra function de la línea 5 (sólo deja imprimirMensaje() ) y prueba de nuevo ;)

PD: Te muevo el hilo al lugar correcto ;)

Imagen de barney77

Aora

Aora sale el siguiente error: Error: SCRIPT.LUA:8 '=' expected near 'while'

pres star to restar

asi quedo mi codigo:

function imprimirMensaje()
screen:print(100,100, "¡Esta es mi primera función en LUA!")
end
 
screen:clear()
imprimirMensaje()
screen.flip
while true do
 star.waitVblankstart
end

 

pd: Gracias por moverme al hilo correcto :D

y me marca ese error ):

D:

Changos... seguro que no te hacen falta un par de paréntesis al final del screen.flip y del waitVblank ?

A por cierto... creo que tienes mal escrita la función que tienes dentro del while, revísala ;)

Imagen de barney77

HAHA

ya pude hermano , haha que distraccion , gracias broo

:D

me da gusto que sigas en la scene, te conosco desde hace 1 año y medio pues como veras yo soy barney77 no se si me recuerdesXD

gracias (:

De nada ;)

Claro que te recuerdo... que tiempos aquellos...

Ahora, te toca seguir dándole duro a la programación, y mucho cuidado para la próxima ;)

Saludos

Imagen de barney77

Asi

Así es men! a darle...

Y porsupuesto que tendre cuidado para la proxima

=D

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.