Ayuda con array o tablas.

Bueno primero el codigo:

–Creo un array o tabla

local arrayCirculos = { }

–Hacemos un for para ir ingrsesando los circulos.

for i = 1, 20 do

arrayCirculos[i] = display.newImage(“circulo.png”);
arrayCirculos[i].x = math.random(0, 200)
arrayCirculos[i].y = math.random(0, 200)
arrayCirculos[i]:addEventListener(“touch”, arrastrar);

–Creamos la funcion arrastrar.

function arrastrar(event)
arrayCirculos[i].x = event.x
arrayCirculos[i].y = event.y
end

end

Bueno el problema es el siguiente… Cuando arrastro un circulo hacia un punto que yo kiero si paso por encima de otro me arrastra el otro tambien, y si paso por un tercero me arrastra los tres, y asi sucesivamente.

Y la otra es por ejemplo, creo los 20 circulos del array y para poder darle un touch tengo que darle el addevenlistener en el for, hay alguna forma de decirle que sea al que yo toque darle algo en concreto, nose si me explico.

Un saludo!!! [import]uid: 153101 topic_id: 32046 reply_id: 332046[/import]

@Jonytexsa,

Creo que quieres esto. Lo siento, no hablo español. He utilizado el traductor de google.

  
for i = 1, 20 do  
 local circulos = display.newImage ("circulo.png");  
 arrayCirculos [i] = circulos   
  
 circulos.x = math.random (0, 200)   
 circulos.y = math.random (0, 200)   
  
 circulos.touch = function( event )   
 self.x = event.x   
 self.y = event.y  
 end  
  
 circulos:addEventListener ("touch", circulos);  
end  

Cada objeto tiene su propia devolución de llamada. Además, al eliminar los objetos, la devolución de llamada se elimina automáticamente.

¡Salud,
Ed
Roaming Gamer, LLC.
SSK for Corona SDK (github) (videos)
[import]uid: 110228 topic_id: 32046 reply_id: 127731[/import]

Gracias por la respuesta…

Me da el siguiente error me pone: en la fila 9 -> attemp top index global ´self´

No se que puede ser. si hago cambios y consiguo arrastrar el objeto ya se me enganchan todos los circulos conforme los voy pasando por encima

Creo que me has entendido perfectamente, gracias.

Por cierto supongo que sera lo mismo que kiero conseguir. Que hago que los circulos caigan del cielo y al tocar en una cesta desaparezcan… todo el mecanismo de la fisica que caiga y haga cosas me lo hace me sume los puntos cuando se tocan y demas pero que sea justamente el que toca la cesta que se borre, imagino que sera asi. Sinos la forma que se hacer es crear variables individualmente y no mediante el for.

Espero haberme explicado y que me hayas entendido… jejeje

Un saludo!!!

[import]uid: 153101 topic_id: 32046 reply_id: 127749[/import]

@Jonytexsa,

Creo que quieres esto. Lo siento, no hablo español. He utilizado el traductor de google.

  
for i = 1, 20 do  
 local circulos = display.newImage ("circulo.png");  
 arrayCirculos [i] = circulos   
  
 circulos.x = math.random (0, 200)   
 circulos.y = math.random (0, 200)   
  
 circulos.touch = function( event )   
 self.x = event.x   
 self.y = event.y  
 end  
  
 circulos:addEventListener ("touch", circulos);  
end  

Cada objeto tiene su propia devolución de llamada. Además, al eliminar los objetos, la devolución de llamada se elimina automáticamente.

¡Salud,
Ed
Roaming Gamer, LLC.
SSK for Corona SDK (github) (videos)
[import]uid: 110228 topic_id: 32046 reply_id: 127731[/import]

Gracias por la respuesta…

Me da el siguiente error me pone: en la fila 9 -> attemp top index global ´self´

No se que puede ser. si hago cambios y consiguo arrastrar el objeto ya se me enganchan todos los circulos conforme los voy pasando por encima

Creo que me has entendido perfectamente, gracias.

Por cierto supongo que sera lo mismo que kiero conseguir. Que hago que los circulos caigan del cielo y al tocar en una cesta desaparezcan… todo el mecanismo de la fisica que caiga y haga cosas me lo hace me sume los puntos cuando se tocan y demas pero que sea justamente el que toca la cesta que se borre, imagino que sera asi. Sinos la forma que se hacer es crear variables individualmente y no mediante el for.

Espero haberme explicado y que me hayas entendido… jejeje

Un saludo!!!

[import]uid: 153101 topic_id: 32046 reply_id: 127749[/import]