Anuncios Google

[SOLUCIONADO POR DEVIANTE] Simulación de un sistema de "capas".

Muchos habréis probado Photoshop, GIMP, o similares programas que tienen un sistema de capas. Pues bien: me gustaría saber si en LuaDEV existe alguna manera o posibilidad de simular un sistema de capas (ojo: no voy a hacer un Photoshop ni nada parecido, es solo porque tiene bastantes aplicaciones a la hora de crear Homebrews), ya que al blitear las imagenes lo hacen en el orden de lineas de codigo, pero luego no puedes "traer al frente" ni "traer al fondo" una imagen con respecto a otra (al menos eso creo).

Agradezco vuestra ayuda, y espero que no sea una pregunta molesta (al menos la he buscado en nuestro querido buscador y no venía nada al respecto).

Un saludo.


 

 


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 DeViaNTe

Bienvenidos al mágico mundo

Bienvenidos al mágico mundo de las tablas...

capas = { };
capas.new = function( nombre, imagen, x, y, z, a ) table.insert(capas,{ n=nombre,i=imagen,x=x,y=y,z=z,a=a}); end;
capas.ordena = function () table.sort(capas,function(a,b) return a.z < b.z; end); end;
capas.pinta = function()
 capas.ordena();
 for i=1, #capas do
   capas[i].i:blend(capas[i].x,capas[i].y,capas[i].a);
 end
end;

Con esto nos creamos una especie de tabla, donde podemos introducir imagenes, con su posicion (x,y), orden de profundidad (z), y transparencia (a), y se pintaran en su sitio y en su orden.

Ejemplo de uso:

-- cargar...
capas.new("logotipo",image.load("logo.png"),240,136,0,255);
capas.new("otrotexto",image.load("bla.png"),240,188,1,255);

while true do
 capas.pinta();
 screen.flip();
end

Si, se puede mejorar bastante la tabla como para que ademas se puedan automatizar los movimientos, o las transparencias, etc... etc... (esto lo tengo hecho en gdp por ejemplo, le digo move_to y se mueve a la velocidad indicada hasta esa posicion, así no me mato de calculos en cada linea de código).

Las tablas son vuestras amigas, utilizarlas como si estuvierais creando "clases" o nuevos tipos de objetos, agrupad funciones y darles uso... se verá más bonito un capas.pinta() que no todo el código separado que haga lo mismo...
(ejemplo, este code sirve para miles de capas... intentar hacer miles de capas cada una por separado, a ver cuantas lineas salen.. xD) 


Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es

Gracias...

Muchas gracias, Deviante. Eres un maestro.

Un saludo.

Imagen de barney77

Your are master. Aquí te

Your are master.

Aquí te pongo el code en un cuadro :):


 

capas = { };
capas.new = function( nombre, imagen, x, y, z, a ) table.insert(capas,{ n=nombre,i=imagen,x=x,y=y,z=z,a=a}); end;
capas.ordena = function () table.sort(capas,function(a,b) return a.z < b.z; end); end;
capas.pinta = function()
 capas.ordena();
 for i=1, #capas do
   capas[i].i:blend(capas[i].x,capas[i].y,capas[i].a);
 end
end;

Con esto nos creamos una especie de tabla, donde podemos introducir
imagenes, con su posicion (x,y), orden de profundidad (z), y
transparencia (a), y se pintaran en su sitio y en su orden.

Ejemplo de uso:

-- cargar...
capas.new("logotipo",image.load("logo.png"),240,136,0,255);
capas.new("otrotexto",image.load("bla.png"),240,188,1,255);
 
while true do
 capas.pinta();
 screen.flip();
end

Imagen de Dioni0396

¿Porque borraron el comentario de barney?

¿Porque borraron el comentario de barney?

Porque pone LOL?

Por las negritas.

Todo el texto o parcialmente todo estaba en negritas.

Imagen de barney77

Seguro por las

Seguro por las negritas.

Saludos.

Imagen de Dioni0396

FIN OFF TOPIC

Creo yo que con simplemente poner

Editado: abusa de negritas bastaba...

Imagen de _-Viciuz-_

Yo lo he marcado como ofensivo

y se ha ocultado, estoy en el trabajo y no traigo la plantilla de moderacion, asi que se ha ocultado automaticamente a la espera de algun moderador...

No esta eliminado, esta oculto, cuando este lo edite, será publico de nuevo

Dioni, te he respondido esto mil veces, no se que parte no entiendes de la moderacion...

Imagen de Dioni0396

Y no seria mejor

(Sugerencia) Editarlo directamente?

Sin tener que pasar a ocultarlo?

Imagen de _-Viciuz-_

como te he mencionado

no traigo la plantilla de moderacion, estoy en el trabajo...

no es editar por editar, hay un seguimiento especifico con textos especificos que los superadmins han dejado a los moderadores.

Un saludo.

Imagen de Dioni0396

anda

Gracias.

Imagen de barney77

De que sirve si no lo

De que sirve si no lo editaron, solo pusieron la nota pero sige en negrita o.o

Imagen de _-Viciuz-_

La nota

es la que se agrega, el moderador decide si edita las negritas o no

Imagen de barney77

Una pregunta.. que tipo de hb

Una pregunta.. que tipo de hb vas a hacer?, en cuanto a lo de traer al fondo y adelante, si que se puede...

Estoy haciendo un proyecto y he echo esto:

function ZOOM() 
if HerramientaActual=="zoom" and controls.down() then c=c+zvl image.factorscale(imagen.img,c) end
if HerramientaActual=="zoom" and controls.up() then c=c-zvl image.factorscale(imagen.img,c) end
end

Si se presiona arriba disminuye(va al fondo, "para atras") y si se presiona abajo aumenta(viene para adelante), solo ignora lo de herramienta actual xDD.

No lo entiendo...

¿Que tiene que ver escalar una imagen con un sistema de capas?

Imagen de barney77

Lo siento(LOL XD), esque leí

Lo siento(LOL XD), esque leí esto: ya que al blitear las imagenes lo hacen en el orden de lineas de codigo,
pero luego no puedes "traer al frente" ni "traer al fondo" una imagen
con respecto a otra (al menos eso creo).


Editado: El uso abusivo de formatos de texto (como negritas y cursiva) dificulta la lectura e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| Samuelfrm

Imagen de Dioni0396

Eso

SI, con poner eso bastaba.

Imagen de _-Viciuz-_

disculpas patron...

Disculpenos por no poder estar las 24 horas atentos a la web, como usted... comprenderá...

Imagen de Dioni0396

Si yo lo comprendo

lo que no comprendo es el ocultar y luego (Si hay algun moderador) volverlo a poner.

Fin del off topic, molestamos a dovemac.

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.