La verdad que esta duda no es una duda, sino un fantasma que aparece y desaparece en mi Lua Player, es decir, no siempre me da ese error pero cada cierto tiempo en el mismo codigo me lanza un error que aun no entiendo ni porque ni como me lo da cuando jamas me ha pasado esto.
Este es el codigo conflictivo:
function movimiento_jugador()
if pad:right() and jugador.x < 454 then
estado = personajeder[fotograma]
jugador.x = jugador.x + 3
fotograma = fotograma + 1
elseif pad:left() and jugador.x > 0 then
estado = personajeizq[fotograma]
jugador.x = jugador.x - 3
fotograma = fotograma + 1
elseif oldpad:right() then <------- LINEA CONFLICTIVA
estado = parado1
elseif oldpad:left() then
estado = parado2
end
if fotograma == 9 then
fotograma = 1
end
end
--bucle principal del programa
while true do
screen:clear()
pad = Controls.read()
screen:blit(jugador.x,jugador.y,estado)
screen:blit(pelota.x,pelota.y,pelotaroja[1])
screen:print(5,5,"Vidas restantes: "..vidas,blanco)
movimiento_jugador()
movimiento_pelotas()
screen.flip()
screen.waitVblankStart()
if pad:start() then
break
end
oldpad = pad
end
Por encima de la funcion movimiento_jugador solo hay varios arrays, colores y las variables de turno, por eso los omito.
Cuando ejecuto ese codigo, la mitad de las veces va genial, ahora bien, la otra mitad de las veces me dice que la variable oldpad es "nil value" (la linea conflictiva) y por tanto no ejecuta el codigo, pero que yo sepa no hago na de na "ilegal", o eso creo. Por eso recurro a vosotros y a vuestra sabiduria, seguro que Pucelano me mata y me dice que vaya chorrada de duda, y la verdad lo es, pero no se porque carajo pasa esto.
Espero esas respuestas como agua de mayo!!!!!
Saludos!!!!!!!!
Debes...
Debes definir la variable de "elseif oldpad:rigth() then"... Si no la defines te saldran errores en tu juego. Para que quieres usar la variable "elseif oldpad:right()"??? Es que segun el codigo que has puesto ahi no viene nada despues del then que va despues de right... Fijate en que linea te sale el error y ponlo por aqui
Ya esta todo
Ya esta todo solucionado.
Despues del then si va codigo, lo que pasa que para abreviar no lo puse aqui, y por otro lao, la variable oldpad si la tengo definida en su sitio, por eso os pedia yuda porque era muy raro que me diera error de una variable que SI esta definida.
Pero como ya he dicho, esta todo solucionado, me ha costado, pero ya esta todo perfecto.
En poco tiempo os subire el juego que estoy haciendo.
Nosa vemos qiyo!!!!!!!!
Me alegro
Me alegro de que ya lo tengas todo solucionado!!! haber cuando nos subes tu juego!!! Si necesitas alguna otra ayuda pasate por los foros y pregunta... Nos vemos tio
JEJEJE, lo que decis es
JEJEJE, lo que decis es cierto pero es que la pagina no me pone el simbolo que va despues de jugador.x, pero ese no es problema.
El problema viene en la parte siguiente de codigo:
if oldpad:right() then
.....
end
El error viene definido por la variable oldpad, que me dice que "Attemp to global index 'oldpad' (a nil value)". Pero lo mas gracioso de todo es que si inicio el index.lua manteniendo pulsado el boton de derecha o izquierda hasta que salte el juego no pasa na de na, no me da el error, pero si lo hago con el boton circulo (como se suele hacer desde el lowser) entonces hay veces que si me da el error y no se porque.
Saludos a los dos!!!!!
Ese error te dice que no
Ese error te dice que no tienes definida la variable oldpad. Debes definir esa variable antes de tratar de hacer referencia a ella.
Saludos
Descargar Homebrew de BETA, gratis. Visualizar un tutorial, gratis. Iniciarse en la programacion en español, gratis. Colaborar a que la scene PSP en español crezca, no tiene precio.
Descargar Homebrew de BETA, gratis. Visualizar un tutorial, gratis. Iniciarse en la programacion en español, gratis. Colaborar a que la scene PSP en español crezca, no tiene precio.
if pad:right() and
if pad:right() and jugador.x 0 then
no deberia ser?
if pad:right() and jugador.x = 0 then
como no pongas los valores del principio o como lo llameis vosotros....
Opino lo mismo que N2eiDer.
Opino lo mismo que N2eiDer. De todas formas, dinos exactamente que mensaje de error te sale, y en que linea.
Descargar Homebrew de BETA, gratis. Visualizar un tutorial, gratis. Iniciarse en la programacion en español, gratis. Colaborar a que la scene PSP en español crezca, no tiene precio.
Descargar Homebrew de BETA, gratis. Visualizar un tutorial, gratis. Iniciarse en la programacion en español, gratis. Colaborar a que la scene PSP en español crezca, no tiene precio.
Mira, quiza tenga que ver el
Mira, quiza tenga que ver el codigo que usaste pues vi que tienes algunos errores por ahi, checa la version de lua player que traes pues los mas recientes para funcionar te piden un codigo mas ordenado.