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,
Cambia esa
Cambia esa tabla:
por eso :
Gracias me servirá de mucho.
Gracias me servirá de mucho.
Que quieres hacer exactamente
Que quieres hacer exactamente que se valla rellenando la pantalla de cuadritos?
No, otra cosa, pero conlo que
No, otra cosa, pero conlo que me estan dando me estoy ahorrando code we.
ok suerte
ok suerte
Tus tablas... están mal
Tus tablas... están mal empleadas. Si tienes una tabla estilo:
tabla[1] tendrá valor nil, debes acceder a los elementos así: tabla["objeto1"], o bien, tabla.objeto1
Si en cambio pones:
Puedes usar con toda tranquilidad tabla[1] para acceder al primer elemento ;)
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:
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.
for
Así funcionara:
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í:
Gracias, solo que descubri
Gracias, solo que descubri algo y lo tendre que ahacer de otra forma, saludos.
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