Miren,quiero que se mueva el objeto bola1, que es una imagen de 50x50, pero que se mueva al yo presionar arriba y abajo.
Me marca el error de :
linea13 loop in gettable.
aqui mi code:
--Nivel 1 bola1 = image.load("bolas/bola1.png") porteria = image.load("porterias/porteria1.png") while true do controls.read() porteria:blit(0,136) bola1:blit(430,136) if controls.press("up") then bola1.y=bola1.y-1 end if controls.press("down") then bola1.y=bola1.y+1 end screen.flip() end
SOLUCIONADO
Ahora otra duda:
Bueno ahora eh terminado por fin los movimientos y eso del nivel1,
solo que algo curioso, veran que me faltaba un end para cerrar el while y
obviamente me marcaba error, le puse el end, pero ahora no me carga el
archivo, solo presiono x, y, nomas nada, se queda asi y no carga nada.
Aqui el code del script Principal:
nivel1 = image.load("Menu/nivel1.png") nivel2 = image.load("Menu/nivel2.png") nivel3 = image.load("Menu/nivel3.png") nivel4 = image.load("Menu/nivel4.png") astro = 1 while true do controls.read() nivel1:blit(0,0) if astro == 1 then nivel1:blit(0,0) if controls.press("cross") then dofile("niveles/nivel1.lua") end end if astro == 2 then nivel2:blit(0,0) end if astro == 3 then nivel3:blit(0,0) end if astro == 4 then nivel4:blit(0,0) end if controls.press("up") then astro = astro-1 end if controls.press("down") then astro = astro+1 end if astro <1 then astro = 4 end if astro > 4 then astro = 1 end screen.flip() end
Aquí el code del Nivel1:
--Nivel 1 bola1= {} bola1.img = image.load("bolas/bola1.png") bola1.x = 430 bola1.y = 136 porteria= {} porteria.img = image.load("porterias/porteria1.png") porteria.x1 = 0 porteria.y1 = 136 porteria.y = 0 porteria.x = 0 porteria.x2 = 0 porteria.y2 = 0 dir = "derecha" velocidad = 8 function move(porteria) if porteria.dir=="derecha" then porteria.x=porteria.x+porteria.velocidad end if porteria.dir == "derecha" and porteria.x>=porteria.x2+1 then end while true do controls.read() porteria.img:blit(porteria.x,porteria.y) bola1.img:blit(bola1.x,bola1.y) if controls.up() then bola1.y=bola1.y-1 end if controls.down() then bola1.y=bola1.y+1 end move(porteria) screen.flip() end end
Es muy raro, solo parpadea un segundo el foco de la memoria(el que parpadea en naranja) y nada se queda así, y antes no pasaba eso, me llega a pensar,sera por la RAM de mi psp?
Es una fat 1000.
Si quieres hacerlo mas
Si quieres hacerlo mas compacto:
bola1={img = image.load("bolas/bola1.png"),x=430,y=136}
Te falta la tabla bola1,
Te falta la tabla bola1, debes definirla primero arriba, fuera del while
Otra cosa, si tu tabla se va llamar bola1, ponle otro nombre a tu imagen, ya que al llamarse igual te va causar más errores.
Gracias,
Gracias, de todas formas ya lo arregle, quedo así:
Estás cargando la imagen dos
Estás cargando la imagen dos veces, y sólo la usas una vez. Elimina la línea 2, seguirá funcionando igual, pero ya no usará ram innecesariamente ;)
Sí,
Sí, ya lo hise, gracias Rober ;).
no existe el objeto ni la tabla
La posicion en Y o X de un objeto no existe por defecto uno las tiene que crear, lo que estas tratando de hacer es sumarle 1 o restarle 1 a una imagen y por si fuera poco tratandola como tabla
bola1 = image.load....
bola1.x = bola1.x + 1
tendrias que hacer una tabla
:)
Gracias
Gracias tío sos un crack, me ha servido.
Otra cosa, la porteria, quiero que se mueva sola, y, poder modificar la velocidad.
correo
mandame tu MSN por MP para ayudarte :)
Jajaja
Jajaja, ya no nau me dio un code, me ha explicado como, pero gracias, de todos modos cuando tenga duda, te lo envio sale?
Gracias man.