Bien amigos,estoy "trabajando" en un RPG y tenia un problema,quer?a poner un mensaje de entrada,ya saben,como una frase referente a lo que pasara en el juego o algo parecido.

Intente editar el sprite del mensaje y darle un efecto donde se valla desapareciendo pero se creaban 20 sprites para que se viera como yo queria...pero seria por un solo mensaje lo cual en mi opini?n seria bastante peso extra al final del proyecto y tambi?n implicar?a que tardara mas en cargar.

No se si creando un objeto con el sprite y que en "STEP" tenga un c?digo y que se valla desapareciendo,seg?n yo as? se har?a pero no se el c?digo que deber?a usar,gracias desde ya.


PD:Ya busque varias veces y con distintas palabras buscar lo que yo quiero y lamentablemente no lo e encontrado.

Hola, busca en el manual la funcion draw_set_alpha (o algo similar). Saludos.
Saludos Cordiales!!!

Hola!!

Como dice la respuesta anterior, puedes usar la funcion draw_set_alpha. . . peeeeeero. . .  si modificas el parametro alfa asi, estaras afectando a todos los sprites que se dibujen despues de ajustar el parametro, por lo que te verias forzado a estarlo ajustando.

Una forma que a mi me funciona es la siguiente  (probada en GM7 Pro):

En create event:

alfa = 1;  //Para que el sprite se dibuje normal

En Step event:

if (alfa > 0) alfa -= 0.1; 

// variare el alfa de 1 a 0 en decrementos de 0.1.   

en draw event:
draw_sprite_ext(sprite_index,image_index,x,y,1,1,0,c_white,alfa);
//Se dibuja el sprite con el valor de alfa actual.

En la parte del step event solo ajustas las condiciones que te indicaran cuando hay que comenzar la difuminacion del sprite. 
Tambien funciona a la inversa si mueves el alfa de 0 a 1.

Espero esta idea te sea de ayuda, saludos!!

Hola, es cierto lo que dice Zigma, la funcion draw_ set_apha puede afectar a todo lo que se dibuje a partir de donde sea colocado en el evento draw, pero usar la funcion draw_sprite_ext tambien tiene sus consecuencias si no requieres de el uso de todos los parametros de esta (por que tiene que hacer todos los calculos), por lo que una solucion mas simple es: cambiar el alpha, dibujar el sprite y regresar el aplha a su valor por defecto (de tu juego). Saludos.
Saludos Cordiales!!!

#4 Julio 19, 2011, 09:38:29 PM Ultima modificación: Julio 19, 2011, 10:14:50 PM por ricky031
Gracias amigos,probare lo que me dice Zigma,de no funcionar (que creo que si me servir?) buscare en el manual como me lo dijo Zeit,gracias a los 2 y ahorita les digo que paso.

EDITO: Bien,puse todo tal cual me lo dijo Zigma,pero no supe que devia cambiar para poner un "temporizador",espero me puedan ayudar con eso,creo que seria mi ultimo problema respecto a esto ya que si se desvanece,pero en cuanto se crea el objeto,perdonen las molestias y ya e intentado algunas modificaciones en el c?digo pero no e dado con la soluci?n,gracias.

Ok. .  que bueno que te sirvio el codigo. .

Entiendo que tu problema ahora es generar el "momento" para que se realice el desvanecimiento.

Si lo que quieres, por ejemplo, es crear el objeto y un cierto tiempo despues que se desvanezca, entonces (ojo, es para GM7):

En create event: 
alarm[0] = 200;  // Al crearse el objeto, se configura esta alarma
permiso = 0;     // variable que indica cuando desvanecer y cuando no

en Alarm 0 event:
permiso = 1;    // pasado el tiempo, cambiamos el estado de la variable

en Step event:

if (permiso == 1){
   if (alfa > 0){
      alfa -= 0.01;
   }
}

Si te fijas, la variable "permiso" es la que detona el desvanecimiento, y puedes cambiar el valor de dicha variable con un sin fin de situaciones (si el objeto salta, toca solido, su velocidad es de algun valor, etc, etc)

Dale un intento, espero que te funcione.  Saludos!!

#6 Julio 20, 2011, 02:52:05 AM Ultima modificación: Julio 20, 2011, 04:52:04 AM por Wadk
En lugar de crear una nueva variable "alfa" y dibujar el sprite manualmente en Draw, pod?s hacer lo que dijo Zigma, pero usando image_alpha.
En step:
[gml]image_alpha = max(image_alpha - 0.1, 0);[/gml]
Y nada m?s.
Si va muy r?pido, cambi? el 0.1 por un n?mero menor, y viceversa. Tambi?n asegurate de que el objeto no tenga evento Draw.
Vim.

Bien,ya agregue lo que me dijo Zigma y quedo de 10 ^^,muchas gracias a todos,me tendr? que aprender esto ya que creo que lo estar? utilizando mucho para mi juego,gracias de nuevo y creo que ya pueden cerrar el tema :D

Que bueno que te fue de utilidad mi propuesta de c?digo.   :)

Soy nuevo en este foro y la verdad me dio mucho gusto ver que aqui se pueden ayudar entre todos para lograr los proyectos que tenemos en game maker. :D

Saludos y por aqui seguimos!! 

P.D.  Luego me avisas cuando tengas un demo jugable de tu RPG!!, ok?