Junio 21, 2014, 07:02:30 PM Ultima modificación: Junio 21, 2014, 10:12:47 PM por TLT96
Osea.... no es exactamente un sprite, es una textura (Pero de llamarlo asi varios se limitarian)

Digamos que tengo un sprite con dimensiones 256x256

Horizontalmente ocupa todo 256
Verticalmente hay 3 partes de 86

Como haria para mezclar 3 partes de 86 vertical (cada una con 256 de horizontal) para crear un nuevo sprite?
Es dificil de explicar.....


Yo haría eso mediante una superficie

los tres sprites de 256x86 (por comodidad y facilidad) deben tener su origen en la esquina superior izquierda. el "sprite" final, es decir, el de 256X256 es en realidad una superficie. Dibujas uno por uno, los sprites de 256X86 en la superficie, indicando su colocación (uno, arriba, otro enmedio y otro abajo)

Al final, la superficie la dibujas en pantalla o si prefieres la conviertes en otro sprite y dibujas ese nuevo sprite en pantalla

Cita de: penumbra en Junio 21, 2014, 07:53:39 PM
Yo haría eso mediante una superficie

los tres sprites de 256x86 (por comodidad y facilidad) deben tener su origen en la esquina superior izquierda. el "sprite" final, es decir, el de 256X256 es en realidad una superficie. Dibujas uno por uno, los sprites de 256X86 en la superficie, indicando su colocación (uno, arriba, otro enmedio y otro abajo)

Al final, la superficie la dibujas en pantalla o si prefieres la conviertes en otro sprite y dibujas ese nuevo sprite en pantalla

Surfaces?.... no le di mucha importancia asi que no se utilizarlas.....

Ok... el sprite origin si esta desde 0.... Pero hay que recordar que no es un sprite, para tratarlo con draw sprite o surface.... habria que tratarlo como background entonces.....

Se que lo hago mas dificil de lo que parece....
Tal vez si explico lo que quiero hacer lo vuelva mas facil.....

Imaginense un "background" que actue como textura, de el pixel 0 a 32 se encuentra el rostro, de 32 a 64 se encuentra el torso, de 64 a 96 se encuentra el pantalon?

Imaginense que existan varios trajes, varios rostros y pantalones....
De alli viene la mezcla....

Dudo que una imagen funcione en este caso xDD (Espero haberme explicado mejor que antes :3)

#3 Junio 21, 2014, 08:54:05 PM Ultima modificación: Junio 21, 2014, 09:00:52 PM por penumbra
Cita de: TLT96 en Junio 21, 2014, 08:39:51 PM
Dudo que una imagen funcione en este caso xDD (Espero haberme explicado mejor que antes :3)
No  :( Si una imagen no funciona, entonces qué funcionaría? (No me imagino que cosa puede contener una textura si no es una imagen)

Cita de: TLT96 en Junio 21, 2014, 08:39:51 PM
Pero hay que recordar que no es un sprite, para tratarlo con draw sprite o surface.... habria que tratarlo como background entonces.....

Del manual GM8:
"You can draw the surface on the screen in many different ways or use it as a texture. "
surface_get_texture(id) Returns the texture corresponding to the surface. This can be used to draw textured objects with the image of the surface.

en la textura se pueden dibujar sprites, fondos, primitivas, etc, lo mismo que se puede dibujar en pantalla mediante comandos draw se puede usar en la superficie

Cita de: TLT96 en Junio 21, 2014, 08:39:51 PM
Surfaces?.... no le di mucha importancia asi que no se utilizarlas.....
Eso es pecado. Las superficies son AMOR  XD

Y si a cada parte de la imagen le asignas una variable?
Algo asi:

casco:0,1,2,3,4,5...
armadura:0,1,2,3,4,5...
pantalon:0,1,2,3,4,5...

y dependiendo la variable es el "sprite"  que se usa (si se que no dijiste sprites, pero podrias hacerlos en sprites separados)

Por ejemplo:
casco=0        // Cabeza sin casco
armadura=2   //ropa roja
pantalon=1    //pantalon azul

Como te dijo penumbra, las Surfaces son otra opcion, en la cual hasta podrias dar efectos o hacer una especie de paletas de colores xD aun que creo que usarian mas memoria y me parece que algunas tarjetas de video son incompatibles...
igual suerte xD

Cita de: penumbra en Junio 21, 2014, 08:54:05 PM
Cita de: TLT96 en Junio 21, 2014, 08:39:51 PM
Dudo que una imagen funcione en este caso xDD (Espero haberme explicado mejor que antes :3)
No  :( Si una imagen no funciona, entonces qué funcionaría? (No me imagino que cosa puede contener una textura si no es una imagen)

Cita de: TLT96 en Junio 21, 2014, 08:39:51 PM
Surfaces?.... no le di mucha importancia asi que no se utilizarlas.....
Eso es pecado. Las superficies son AMOR  XD

Me equivoque.. en lugar de imagen hiba sprite xDD

Bueno, logre solucionarlo..... aqui el codigo (Quizas exprese lo que queria hacer)

var surf;
surf=surface_create(256,256)
surface_set_target(surf)
draw_clear_alpha(c_black,0)
draw_sprite(Hair,0,0,0)
draw_sprite(Face,0,0,0)
draw_sprite(Shirt,0,0,0)
draw_sprite(Arms,0,0,0)
draw_sprite(Pants,0,0,0)
draw_sprite(Boots,0,0,0)
spr_custom=sprite_create_from_surface(surf,0,0,256,256,false,false,0,0)
surface_reset_target()
surface_free(surf)


Primero lo hice como queria (3 cuadros) pero al ver que funciono perfectamente quize hacerlo mas decente..... (Cada parte del cuerpo)

Bueno.... parece que las surfaces si son utiles... Crei que solo eran para hacer sombras y luces ;P
Gracias :D
[TEMA CERRADO]