Buen día, la idea es la sig.
Intento crear un juego tipo Arkanoid en donde existen varios bloques a destruir, pero todos estos bloques deben formar una imagen especifica (las imágenes varían según la stage).
Según yo creo el objeto del bloque, y asi pongo varios bloques(el mismo objeto siempre) en el stage.
La pregunta es:
Es posible apilar varios bloques y sobreponer mi imagen, y cuando se destruya un bloque se este desapareciendo la imagen? de ser afirmativo, como se realiza? de lo contrario alguna sugerencia?
Lo que trato de evitar, es crear muchos bloques(objetos) y editar cada uno para que al armarlos forme la imagen que deseo.

Espero haberme explicado bien
De antemano gracias

:GMS: 1.2
La red es tan genial y maravillosa como tu inteligencia pero tan peligrosa y aterradora como tu ignorancia.

Hola, eso se puede hacer con tiles (losas).
Primero coloca los bloqes como deseas y luego agrega una capa de tiles sobre los bloques. En el evento "Destroy" del objeto bloque coloca éste código:
[gml]
tile_delete( tile_layer_find( layer, x, y ) );
[/gml]
"layer" debe ser el valor de profundidad de la capa de tiles que usaste. Entonces cuando el objeto se destruya va a borrar la imagen que esté en las mismas coordenadas.

Muchísimas gracias Clamud  ;D

Me tiraste buen Paro

Saludos y espero le sirva a alguien mas

La red es tan genial y maravillosa como tu inteligencia pero tan peligrosa y aterradora como tu ignorancia.

#3 Noviembre 28, 2014, 06:59:55 AM Ultima modificación: Noviembre 28, 2014, 09:01:01 AM por BarujGEN
Cita de: Clamud en Noviembre 26, 2014, 09:35:06 PM
Hola, eso se puede hacer con tiles (losas).
Primero coloca los bloqes como deseas y luego agrega una capa de tiles sobre los bloques. En el evento "Destroy" del objeto bloque coloca éste código:
[gml]
tile_delete( tile_layer_find( layer, x, y ) );
[/gml]
"layer" debe ser el valor de profundidad de la capa de tiles que usaste. Entonces cuando el objeto se destruya va a borrar la imagen que esté en las mismas coordenadas.

Disculpa compañero, usando el código que me facilitas me aparece este error:


___________________________________________
############################################################################################
ERROR in
action number 1
of Destroy Event
for object OBlok:

Tile does not exist.
at gml_Object_OBlok_DestroyEvent_1 (line 3) - tile_delete( tile_layer_find( 1000000, x, y ) );
############################################################################################

A lo que entiendo es que al destruir un bloque elimina todo el Tile y no el "pedasito" de Tile. Y al eliminar otro bloque es cuando manda el error.

Tal vez no me explique bien.
Are un ejemplo rápido
Imaginemos que el fondo es un esqueleto humano, y sobrepongo una sola y única imagen de los músculos; ahora por decirlo así un brazo lo formo con varios bloques(estos no son necesarios estén visibles) que al eliminar un bloque de estos me borre ese "pedasito" de musculo (osease un pedazo de la imagen que esta encima y no toda) y deje expuesto el hueso.

haber si así me explique mejor
La red es tan genial y maravillosa como tu inteligencia pero tan peligrosa y aterradora como tu ignorancia.

Cita de: BarujGEN en Noviembre 28, 2014, 06:59:55 AM
Cita de: Clamud en Noviembre 26, 2014, 09:35:06 PM
Hola, eso se puede hacer con tiles (losas).
Primero coloca los bloqes como deseas y luego agrega una capa de tiles sobre los bloques. En el evento "Destroy" del objeto bloque coloca éste código:
[gml]
tile_delete( tile_layer_find( layer, x, y ) );
[/gml]
"layer" debe ser el valor de profundidad de la capa de tiles que usaste. Entonces cuando el objeto se destruya va a borrar la imagen que esté en las mismas coordenadas.

Disculpa compañero, usando el código que me facilitas me aparece este error:


___________________________________________
############################################################################################
ERROR in
action number 1
of Destroy Event
for object OBlok:

Tile does not exist.
at gml_Object_OBlok_DestroyEvent_1 (line 3) - tile_delete( tile_layer_find( 1000000, x, y ) );
############################################################################################

A lo que entiendo es que al destruir un bloque elimina todo el Tile y no el "pedasito" de Tile. Y al eliminar otro bloque es cuando manda el error.

Tal vez no me explique bien.
Are un ejemplo rápido
Imaginemos que el fondo es un esqueleto humano, y sobrepongo una sola y única imagen de los músculos; ahora por decirlo así un brazo lo formo con varios bloques(estos no son necesarios estén visibles) que al eliminar un bloque de estos me borre ese "pedasito" de musculo (osease un pedazo de la imagen que esta encima y no toda) y deje expuesto el hueso.

haber si así me explique mejor

Divídelo en varios tiles del tamaño de los pedacitos, de la misma imagen.


Haaaa ya!!!

ya capte que rollo y ya jaló!!!

Muchas Gracias de Nuevo

La red es tan genial y maravillosa como tu inteligencia pero tan peligrosa y aterradora como tu ignorancia.