Anuncios Google

Ayuda con Bucles For[LUA]

Hola, bien, pues lo que quiero esque blitee mi objeto cada 27 pixeles, les dejo mi code:

tcolors={color1=color.new(0,128,128),color2=color.new(255,0,0),color3=color.new(0,255,0),color4=color.new(0,0,255),
		 color5=color.new(255,20,147),color6=color.new(255,215,0),color7=color.new(255,255,0),color8=color.new(139,0,0),
		 color9=color.new(0,250,147),color10=color.new(140,140,0)
} -- Tabla de colores.
 
an=25
al=25
 
tobjetos={objeto1=image.create(an,al,tcolors[1]),objeto2=image.create(an,al,tcolors[2]),objeto3=image.create(an,al,tcolors[3]),
		  objeto4=image.create(an,al,tcolors[4]),objeto5=image.create(an,al,tcolors[5]),objeto6=image.create(an,al,tcolors[6]),
		  objeto7=image.create(an,al,tcolors[7]),objeto8=image.create(an,al,tcolors[8]),objeto9=image.create(an,al,tcolors[9]),
		  objeto10=image.create(an,al,tcolors[10])
}
 
while true do controls.read();
for e=0,480,27 do
for i=1,10 do
tobjetos[i]:blit(1+(27*e),0)
end
end
screen.flip();
end

Solo que en la linea que bliteo me dicefunction arguments expected near <eof>, no se que estoy haciendo mal, pero si podrian decirme donde es el error les agradeceria.

Salu2.

EDITO: He descubierto algo por lo que esto no me servira, cerrar post por favor,


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.

Cambia esa

Cambia esa tabla:

tobjetos={objeto1=image.create(an,al,tcolors[1]),objeto2=image.create(an,al,tcolors[2]),objeto3=image.create(an,al,tcolors[3]),
		  objeto4=image.create(an,al,tcolors[4]),objeto5=image.create(an,al,tcolors[5]),objeto6=image.create(an,al,tcolors[6]),
		  objeto7=image.create(an,al,tcolors[7]),objeto8=image.create(an,al,tcolors[8]),objeto9=image.create(an,al,tcolors[9]),
		  objeto10=image.create(an,al,tcolors[10])
}

por eso :

tobjetos={}
for i = 1, 10 do
	tobjetos[i] = image.create(an,al,tcolors[i])
end

 

Imagen de barney77

Gracias me servirá de mucho.

Gracias me servirá de mucho.

Imagen de sting18

Que quieres hacer exactamente

Que quieres hacer exactamente que se valla rellenando la pantalla de cuadritos?

Imagen de barney77

No, otra cosa, pero conlo que

No, otra cosa, pero conlo que me estan dando me estoy ahorrando code we.

Imagen de sting18

ok suerte 

ok suerte 

Tus tablas... están mal

Tus tablas... están mal empleadas. Si tienes una tabla estilo:

tabla = {
   objeto1 = algo,
   objeto2 = otra cosa
}

tabla[1] tendrá valor nil, debes acceder a los elementos así: tabla["objeto1"], o bien, tabla.objeto1
Si en cambio pones:

tabla = {
   algo,
   otra cosa
}

Puedes usar con toda tranquilidad tabla[1] para acceder al primer elemento ;)

Imagen de iRVing_Prog

distintas formas

cómo dice Rober, ahora veo mas formas de acceder a las tablas, sobre todo la primera que no la usaba.

Se me ocurre barney que puedes dejar tu tabla tal cómo está y hacer esto:

for i=1,10 do
tobjetos["objeto"..i]:blit(27*1-27,0)
end

No estoy seguro que sea efectivo concatenar asi, pero no pierdes nada probando :)

Salu2


 

Totalmente posible

Así las uso yo en un HB que tengo entre manos, y funciona perfecto.

Imagen de iRVing_Prog

for

Así funcionara:

fot i=1,10 do
tobjetos[i]:blit(27*i,0)
end

cada 27 pixeles imprimirá la imagen, comenzando en el pixel 27, si quieres que empiece desde el 0 seria: 27*i-27

Salu2 :D

Edito: Ya veo el problema, pues es cómo dice sting18.

tobjetos={}

tobjetos[1]={imagen=image.create(blablabla),x=bla,y=bla}

y en el bucle

tobjetos[i].image:blit(blabalabal)


 

Si va a usar eso, que le

Si va a usar eso, que le pongo un menos 1 a la i porqué empezará a blitearlo 27 pixels a ,a derecha, o sea ponlo así:

 

for i=1,10 do
tobjetos[i]:blit(27*(i-1),0)
end

Imagen de barney77

Gracias, solo que descubri

Gracias, solo que descubri algo y lo tendre que ahacer de otra forma, saludos.

Imagen de sting18

Ok mira para poder poner un

Ok mira para poder poner un [] tienes que definir la tabla ejemplo.

tobjetos={}
tobjetos[1]= {objeto=blabla.x=bla,y=bla}
tobjetos[2]= {objeto=blabla.x=bla,y=bla}

hay ya tienes 2 objetos el 1 y 2 en las [] y ahora si puedes usar los for


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.