Anuncios Google

Ayuda con proyecto [LUA][Solucionado]

Alguien me puede decir que le pasa a este codigo:

--Guillermo_Cornielle
--26-08-2008

--Cargando las imagenes
se1 = Image.load("Juego/Movimiento/E1.png")
se2 = Image.load("Juego/Movimiento/E2.png")
se3 = Image.load("Juego/Movimiento/E3.png")
se4 = Image.load("Juego/Movimiento/E4.png")
se5 = Image.load("Juego/Movimiento/E5.png")
se11 = Image.load("Juego/Movimiento/E11.png")

se6 = Image.load("Juego/OpuestoC/E6.png")
se7 = Image.load("Juego/OpuestoC/E7.png")
se8 = Image.load("Juego/OpuestoC/E8.png")
se9 = Image.load("Juego/OpuestoC/E9.png")
se10 = Image.load("Juego/OpuestoC/E10.png")
se12 = Image.load("Juego/OpuestoC/E12.png")

sa1 = Image.load("Juego/Atacando/A1.png")
sa2 = Image.load("Juego/Atacando/A2.png")
sa3 = Image.load("Juego/Atacando/A3.png")
sa4 = Image.load("Juego/Atacando/A4.png")

sd1 = Image.load("Juego/Defensa/D1.png")
sd2 = Image.load("Juego/Defensa/D2.png")

S = {}
S[1] = { x = 100, y = 100, }
sprite = se1
movimientod = 0
movimientoi = 0

function mov()
if pad:right() then
S[1].x = S[1].x + 2
movimientod = movimientod + 1
end

if pad:left() then
S[1].x = S[1].x - 2
movimientoi = movimientoi + 1
end
end

function sprd()
if movimientod >= 0 and movimeintod < 10 and pad:right() then
sprite = se1
end
if movimientod >= 10 and movimientod < 20 and pad:right() then
sprite = se2
end
if movimientod >= 20 and movimientod < 30 and pad:right() then
sprite = se3
end
if movimientod >= 30 and movimientod < 40 and pad:right() then
sprite = se11
end
if movimientod >= 40 and movimientod < 50 and pad:right() then
sprite = se4
end
if movimientod >= 50 and movimientod < 60 and pad:right() then
sprite = se5
end
if movimientod >= 60 then
movimientod = 0
end
end

function spri()

if movimientoi >= 0 and movimientoi < 10 and pad:left() then
sprite = se6
end
if movimientoi >= 10 and movimientoi < 20 and pad:left() then
sprite = se7
end
if movimientoi >= 20 and movimientoi < 30 and pad:left() then
sprite = se8
end
if movimientoi >= 30 and movimientoi < 40 and pad:left() then
sprite = se12
end
if movimientoi >= 40 and movimientoi < 50 and pad:left() then
sprite = se9
end
if movimientoi >= 50 and movimientoi < 60 and pad:left() then
sprite = se10
end
if movimientoi >= 60 then
movimientoi = 0
end
end

while true do
pad = Controls.read()
screen:clear()
mov()
sprd()
spri()
screen:blit(S[1].x,S[1].y,sprite)
screen.waitVblankStart()
screen.flip()
end

Pues cuando pongo movimientod() y movimientoi()(No estan en el codigo) en el bucle principal me da un error que dice: attemp to call "movimientod" (a number value)

pero cuando quieto esos dos codigos, me dice que estoy tratando de comparar un nil con un numero,


Manual del Perfecto Votante Para un voto libre y justo!.

TheGCProjects


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 sport

y esas funciones las tienes

y esas funciones las tienes o otro script???? pues si es asi entonces revisalas!!! o cambiales el nombre a esas funciones, tal vez lo que pase es que LUA las confunda con las variables que estas poniendo ahi.

 

esa es mi humilde opinion.


Puro Hueso--39--Fortera

Imagen de Guillermo_Cornielle

Gracias

Wao, nunca crei que LUA no reconoceria movimientoi y movimientod, asi que tuve que cambiarlas a pasosi y pasosd, ya que intente con un monton y ninguna me funciono, pero gracias a ti lo solucione.

Saludos.


Manual del Perfecto Votante Para un voto libre y justo!.

TheGCProjects

Imagen de Guillermo_Cornielle

Si eso fuera

No hubiera preguntado, estoy harto de cambiarle el nombre y aun asi el error persiste.

De todos modos gracias por tu respuesta.

Saludos. 


Manual del Perfecto Votante Para un voto libre y justo!.

TheGCProjects

Imagen de Tanos

¿Tienes idea de lo que estas haciendo? xD

¿Por qué quieres llamar como función "function()" a una variable global?

Esto es imposible:

variable = 0

while true do

...

variable()

...

end

Imagen de Guillermo_Cornielle

Ok

Pero si te fijas bien en el codigo, veras que esa variable ya no esta en el bucle, se que la confundi, pero la quite de ahi y aun asi me seguia dando error, pero bueno, ya encontre la solucion, parece que LUA no reconocia eso de movimientii y movimientod


Manual del Perfecto Votante Para un voto libre y justo!.

TheGCProjects

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.