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,
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
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
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
¿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
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