Anuncios Google

Esta bien esto en LUADEV

Quiero ver si esta bien esta parte del code, me marca error loop in getable, es para hacer el rebote cuando le pega a la bola.

mesa = image.load("images/mesa.jpg")
negro = color.new(0,0,0)
rojo = color.new(255,0,0)
verde = color.new(0,255,0)
azul = color.new(0,0,255)
port = image.create(18,84,verde)
disco = image.create(10,10,rojo)
mallet = image.create(20,20,azul)
estadorebote = 1
 
disco_mov1_t = {x=226,y=125,anchura=10,altura=10}
port_mov1_t = {x=416,y=16,anchura=84,altura=18}
mallet_mov1_t = {x=220,y=14,anchura=50,altura=50}
 
shuuya = 1
 
function rebote1()
if mallet.x + 10 > disco.x and mallet.x < disco.x + 10 and mallet.y + 60 > disco.y and mallet.y < disco.y + 10 then
velocidad.x = 7
end
if disco.y <= 40 then
velocidad.y = 6.5
end
if disco.y >= 262 then
velocidad.y = -6.5
end
end
 
function rebote2()
if (mallet.x + 10 > disco.x) and (mallet.x < disco.x + 10) and (mallet.y + 60 > disco.y) and (mallet.y < disco.y + 10) then
velocidad.x = 10
end
if disco.y <= 40 then
velocidad.y = 8
end
if disco.y >= 262 then
velocidad.y = -8
end
end
 
function rebote3()
if (mallet.x + 10 > disco.x) and (mallet.x < disco.x + 10) and (mallet.y + 60 > disco.y) and (mallet.y < disco.y + 10) then
velocidad.x = 12
end
if disco.y <= 40 then
velocidad.y = 11
end
if disco.y >= 262 then
velocidad.y = -11
end
end
 
function rebote4()
if (mallet.x + 10 > disco.x) and (mallet.x < disco.x + 10) and (mallet.y + 60 > disco.y) and (mallet.y < disco.y + 10) then
velocidad.x = 14
end
if disco.y <= 40 then
velocidad.y = 13.5
end
if disco.y >= 262 then
velocidad.y = -13.5
end
end
 
function rebote5()
if (mallet.x + 10 > disco.x) and (mallet.x < disco.x + 10) and (mallet.y + 60 > disco.y) and (mallet.y < disco.y + 10) then
velocidad.x = 18
end
if disco.y <= 40 then
velocidad.y = 17
end
if disco.y >= 262 then
velocidad.y = -17
end
end
 
 
while true do
controls.read()
port:blit(port_mov1_t.x,port_mov1_t.y)
disco:blit(disco_mov1_t.x,disco_mov1_t.y)
mallet:blit(mallet_mov1_t.x,mallet_mov1_t.y)
 
if shuuya == 1 then
	port_mov1_t.y = port_mov1_t.y + 3
elseif shuuya == 2 then
	port_mov1_t.y = port_mov1_t.y - 3
end
if port_mov1_t.y == 121 then
	shuuya = 2
elseif port_mov1_t.y == 10 then
	shuuya = 1
end
if shuuya == 2 then
	disco_mov1_t.y = disco_mov1_t.y + 3
elseif shuuya == 2 then
	disco_mov1_t.y = disco_mov1_t.y - 3
end
if port_mov1_t.y == 110 then
	shuuya = 2
elseif port_mov1_t.y == 10 then
	shuuya = 1
end
 
if estadorebote == 1 then
rebote1()
end
if estadorebote == 2 then
rebote2()
end 
if estadorebote == 3 then
rebote3()
end 
if estadorebote == 4 then
rebote4()
end 
 
if controls.press("start") then
dofile("pause.lua")
end
mallet.img:blit(mallet.x,mallet.y)
malletmove()
for a = 1,3 do
end
 
screen.flip()
end


HiderDEV 2.0: 100%  3D Images: 100%   American Run: 100%

 

 

 


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 sting18

si esta

si esta mal...

ejemplos.

habres tabla.

tabla={}

especificas la tabla y sus componentes

tabla[1]={x=100,y=100,blablabla}

usas la tabla especificada

tabla[1].x = tabla[1].x +10


Imagen de lostdajt

La verdad

La verdad no entiendo nada, lo que quiero es hacer un rebote con el que yo muevo.

Imagen de NauTiluS1

xD es qué no te quiero dar code aún xD

Por ejemplo, ummm, si te llamo a tu casa y "yo no tengo numero telefonico" como me llamarias si yo en realidad no existo.(no me entendí xD)

Básicamente tu llamas a un objeto que no existe


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de sting18

ok tu tabla esta mal hecha se

ok tu tabla esta mal hecha se hace como te puse arriba y para mostrar tambien especifica o sea usa [1] despues de cargar la tabla para darle funcionamiento no tengo mucho tiempo si no te explicaba mejor sorry xD pero el ejemplo de arriba esta mas que claro.


Sería disco_mov1_t.x en vez

Sería disco_mov1_t.x en vez de disco.x

Imagen de Dioni0396

mallet.x

y mallet.y no estan especificados en ningun momento en ninguna parte del codigo

Imagen de lostdajt

Lo pongo en el code

Pero tengo esto en el code:

mallet_mov1_t = {x=220,y=14,anchura=50,altura=50}

Imagen de NauTiluS1

Tienes que aprender a

Tienes que aprender a solucionar errores tambíen =_=

Mira:

mallet_mov1_t = {x=220,y=14,anchura=50,altura=50}
 
if mallet.x + 10 > disco.x and mallet.x < disco.x + 10 and mallet.y + 60 > disco.y and mallet.y < disco.y + 10 then

Ejemm en el if pones mallet y en la tabla mallet_xxx tienes que ponerlo con el mismo nombre T.T



Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de Dioni0396

Em eso

no especifica absolutamente nada, lo cual conlleva un error

en tal caso seria

mallet.x = 220

Imagen de NauTiluS1

Pues sí, creo que ese es el

Pues sí, creo que ese es el error xD

Imagen de NauTiluS1

Pon todo el code, aunque creo

Pon todo el code, aunque creo que ya había visto ese code en un tutorial.

Imagen de Dioni0396

los parentesis

eliminalos TODOS

Imagen de lostdajt

Me sale lo mismo

el mismo error "loop in gettable" si quieres te paso todo el  code.

 

Imagen de Dioni0396

Ponlo en el post

todo el code

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.