Problema con LUA

Hola buenas

Vereis , tengo un problema con una app propia en lua.

Pro lo visto, al leer esta códivo


10 --Centrar texto
11 function Centrar(y,string,color)
12 screen:print( 240 - (string.len(string)*8) / 2 ,y,string,color);
13 end

me da el problema de

error: index.lua:12: bad argument #3 to "print" (Color expected, got nil)
Error: No script found.

Press start to restart


El problema es ke hasta ahora nunca me habia pasado esto, y por lo general, en esta funcion, ke lo unico ke haces es centrar el texto (a la mitad del string se la resta a 240 y el resultado lo pone como coordenada para printearlo)

Me tiene un poco intrigado, pk nunca habia hecho esto.

Si alguien tiene idea de lo ke le puede pasar, porfavor que lo comente

Gracias
function Centrar(y,string,color)

No era (x,y, imagen o texto a mostrar)



No veo ningun if
linea 13 end



string.len(string)

estas cosas creo que se ponian asi string.len[string]


Y entre el 240 y el parentesis hay un espacio, ve probando a cambiar algo de lo que te dije ;)
N2eiDer escribió:function Centrar(y,string,color)

No era (x,y, imagen o texto a mostrar)



No veo ningun if
linea 13 end



string.len(string)

estas cosas creo que se ponian asi string.len[string]


Y entre el 240 y el parentesis hay un espacio, ve probando a cambiar algo de lo que te dije ;)


Weno lo primero está bien (la x es una variable, la y la he de poner yo, y lo otro es el string (texto) y lo ultimo el color

Lo del end en la 13 es porke la function si ke lleva end, no hace falta ke haya un if

lo del string está bien con ()

y lo del espacio no pasa nada

Lo rar o es ke hasta hora me ha funcionado, y de repente, la psp se queja de ke está mal...

Yo la verda es ke flipo
cambiaste la version del lua?
definitivamente no lo hice, manualmente no, pero a lo mejor ella sola si

es lo ke me estaba temiendo, porke ejekute un par de app solo para 3.40 y estaba en la 3.03 oe c
Napsteir escribió:definitivamente no lo hice, manualmente no, pero a lo mejor ella sola si


.... sola? xDDD la descarga tiene que ser manual no es automatica :P


Pon de la lina 1 a la 13 del codigo
Pos yo no entiendo porq no te funciona, pon mas parte del codigo para que se pueda ver mejor lo qe pasa, o mirate de cambiar la version de lua. Porque el argumento #3 de la funcion screen: print() va una string "screen: print(PosicionX,PosicionY,String,Color)". Mirate si te funciona esto:

blanco = Color.new(255, 200, 255)

-- Tu funcion tal y como la has copiado tu
function Centrar(y,string,color)
screen: print( 240 - (string.len(string)*8) / 2 ,y,string,color);
end

while true do
screen:clear()

Centrar(10,"Texto Centrado",blanco)

screen.waitVblankStart()
screen.flip()

end


a mi este codigo me rula bien.
PD: el "screen: print" tiene un espacio entre los : y la p, porq si no me sale esto :P
6 respuestas