Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: scrubuch en Abril 06, 2016, 10:11:13 PM

Título: Hacer desaparecer un objeto de una superficie
Publicado por: scrubuch en Abril 06, 2016, 10:11:13 PM
Hola, soy nuevo en el foro y usando uso GM desde hace un año, actualmente estoy teniendo un pequeño gran problema y es que he creado una surface en la cual dibujo manchas de sangras, pero quiero que estas desaparezcan al cabo de un tiempo, me he dado cuenta que el Step event del objeto que dibujo en la superficie solo se ejecuta una vez, por lo tanto no encuentro manera alguna de hacerlo desaparecer al cabo de un tiempo.

Muchas gracias.
Título: Re:Hacer desaparecer un objeto de una superficie
Publicado por: ferhand en Abril 07, 2016, 12:00:42 AM
     Saludos Makero "scrubuch":

Para empezar las superficies son un área donde dibujas cualquier imagen, como si de un lienzo para pintar se tratase. Luego mandas a dibujar la superficie en la pantalla y entonces puedes ver lo dibujado en ella.
Por supuesto, si solo dibujamos una vez en la superficie y luego esta la dibujamos en la pantalla solo veremos eso, pero si dibujamos consecutivamente en la superficie y esta la dibujamos en pantalla consecutivamente también entonces podremos hacer algo parecido a como se hacían los dibujos animados en el pasado: se dibujaban los personajes una y otra vez en diferentes lienzos en diferentes posiciones y luego se mostraban en pantalla una imagen tras otra....

Solución 1: (primera imagen de los adjuntos)
Tal vez lo estoy diciendo un poco enredado pero mi propuesta es clara: dibuja en la superficie varias veces a medida que la sangre va desapareciendo. O sea, los pasos serían los siguientes:

1-   dibujas en la superficie la sangre y la muestras en la pantalla
2-   más tarde borras la superficie, la creas de nuevo y vuelves a dibujar la sangre en la superficie, pero algo más transparente y la pones en pantalla.
3-   Luego borras la superficie, la creas de nuevo y vuelves a dibujar la sangre en la superficie, pero mucho más transparente y la pones en pantalla.
4-   Y así consecutivamente hasta que la sangre no se vea.


Solución 2: (segunda imagen de los adjuntos)
La otra solución que le doy es crear una superficie donde dibujara solo la sangre con fondo transparente por lo que solo se verá la sangre. Y aplicar los pasos que le dije anteriormente solo a esa superficie que sería de pequeño tamaño....

Atención:
Ojo, mi explicación tiene como premisa que Usted dibuja todo el escenario (todos los objetos, el fondo, todo) en la superficie y luego manda a dibujar en pantalla. Por eso en la segunda solución propongo una superficie pequeña que no tenga el tamaño del "room". Lo que pasa es que Usted no explica los procesos de dibujado de su problema.

Disculpe si me enredo un poco para explicar.
Da la casualidad que estoy trabajando con superficies en estos momentos y tuve un problema parecido que ya resolví.
Espero resuelva... :)

Un abrazo de Ferhand.... ;D