Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Sombras con Particulas(cenital) 2.01  (Leído 5621 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
en: Febrero 06, 2010, 01:46:03 am
Creador: hardraid
Version GM:  :GM8: :GM7: :GM6:
Descripción: Varios de ustedes ya conocieron mi antiguo post sobre sombras con particulas pero no estaba tan afinado :P ahora aprovechando que mi post ya no esta voy a mostrar una version actualizada, requiere un solo script y no dos como el anterior, es mas rapido, y lo mas importante dibuja la sombra de los sprites animados a diferencia del anterior que era estatico. Les dejo un ejemplo adjunto.

Modificacion 2.01:Se a agregado una condición para que en los casos que el sprite no tenga velocidad, no dibuje la animacion de la sombra. lamentablemente no encontre la forma de variar la velocidad de animacion de las particulas. Tambien se a establecido una profundidad menor a la del objeto, por defecto es asi si el objeto tiene la profundidad por defecto, pero en caso contrario no, con esto se soluciona.

ATENCION: En el evento destroy colocar:
Código: [Seleccionar]
part_system_destroy(sis_sombra);//para elimianr el sistema de particulas y librar la memoria utilizada.
Tambien coloquen el codigo en el evento "End Step" despues de cualquier otra funcion.

Codigo:

Código: [Seleccionar]
//scr_sombra(alpha,escala);
//1º argumento: para ponerle la transparencia de la sombra, lo normal seria 0.5.
//2º argument2: para ponerle la escala(tamaño) de la sombra, 1 equivale al tamaño normal.
if!(variable_local_exists('sis_sombra'))//si no existe el sistema de particulas...
{
    sis_sombra=part_system_create();//creamos sistema de particulas.
    part_system_depth(sis_sombra,depth+1);//profundidad menor a la del objeto.
    sombra=part_type_create();//creamos el tipo de particula.
    emi_sombra=part_emitter_create(sis_sombra);//creamos el emisor.
}
    part_type_sprite(sombra,sprite_index,1,0,0);//la particula va a ser el sprite actual.
    part_type_color1(sombra,c_black);//indicamos color negro.
    part_type_alpha1(sombra,argument0);//indicamos transparencia
    part_type_scale(sombra,argument1,argument1);//escala un poquito mas grande q el sprite normal.
    part_type_orientation(sombra,image_angle,image_angle,0,0,0);//angulo de la particula igual al del sprite.
    if(image_speed){//si la imagen tiene velocidad...
    part_type_life(sombra,image_number,image_number);//la duracion sera igual a la duracion del sprite.
    }else{
    part_type_life(sombra,1,1);
    }
    part_type_death(sombra,1,sombra);//cuando se muere crea otra.
    sp=point_distance(xprevious,yprevious,x,y);//obtenga la velocidad en base a su posicion por steps.
    part_type_speed(sombra,sp,sp,0,0);//establecemos la velocidad.
    dir=point_direction(xprevious,yprevious,x,y);//obtenemos la direccion en base a la coordenadas de cada step.
    part_type_direction(sombra,dir,dir,0,0);//establecemos la dreccion.
    
    if(part_emitter_exists(sis_sombra,emi_sombra)){//si existe el emisor...
    part_emitter_region(sis_sombra,emi_sombra,x+2,x+3,y+2,y+3,ps_shape_rectangle,ps_distr_linear);//indicamos la region donde se crearan las particulas.
    part_emitter_burst(sis_sombra,emi_sombra,sombra,1);//iniciamos el emisor.
    part_emitter_destroy(sis_sombra,emi_sombra);//destruimso el emisor.
    }

« última modificación: Febrero 12, 2010, 07:38:50 pm por hardraid »

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


No Tienes Permisos Para Dar Puntos
point 5 Puntos

Usuarios que puntuaron el tema » venus (5 Pts) 


Desconectado Fenris78

Respuesta #1 en: Febrero 07, 2010, 05:47:20 pm
Lo acabo de probar.

Excelente script Hardraid. Funcional, efectivo y muy facil de implementar.


Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
Respuesta #2 en: Febrero 08, 2010, 03:04:13 am
gracias Fenris... acabo de realizar una pequeña modificacion, los detalles esta estan en el post.

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


Desconectado kakashigna

Respuesta #3 en: Febrero 12, 2010, 06:38:14 am
Me parecio bastante interesante...pero al collisionar con una pared la sombra sigue andando XD

Te adjunto una imagen de mi proyecto cuando intente implementar el script

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.
 


Desconectado Wadk

  • In order to see...
  • Legendario
  • *
  • Puntos: 274
  • Mensajes: 2.355
  • Sexo: Masculino
  • ... you must close your eyes.
    • Ver Perfil
Respuesta #4 en: Febrero 12, 2010, 07:04:50 am
Es un buen script, pero tal parece que no queda bien si el valor de image_speed es distinto a 1.

 


Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
Respuesta #5 en: Febrero 12, 2010, 07:23:36 pm
Wadk, lo de image_speed lo aclare en el post. con respecto a lo de la colisiones voy a fijarme y corregir.

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
Respuesta #6 en: Febrero 12, 2010, 07:37:46 pm
bueno no vi ese problema que tenes vos kakashigna, a lo mejor haras mal la colision, si queres mostrame el trozo de codigo donde haces la colision, y por las dudas te recomiendo que lo uses en "end step" voy a ponerlo en el post asi lo usan siempre asi uqe es mejor.

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


Desconectado kakashigna

Respuesta #7 en: Febrero 12, 2010, 07:43:33 pm
no pongo collision...solo uso place_free para chekear posiciones XD

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.
 


Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
Respuesta #8 en: Febrero 12, 2010, 07:45:45 pm
probaste con ponerlo en "end step"?

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


Desconectado kakashigna

Respuesta #9 en: Febrero 12, 2010, 07:53:06 pm
si,si lo hice pero el error persiste y solo ocurre cuando me muevo y la image_speed es mayor a cero...

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.
 


Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
Respuesta #10 en: Febrero 12, 2010, 08:30:33 pm
la image_speed de cualquier forma no afecta eso, image_speed tiene q set 0 o el valor por defecto del sprite. mostrame el trozo de codigo q pones en el place_free.

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


Desconectado kakashigna

Respuesta #11 en: Febrero 12, 2010, 08:36:34 pm
Código: [Seleccionar]
if keyboard_check(key_up) and place_free(x,y-velocidad)
{
y-=velocidad
}

if keyboard_check(key_left) and place_free(x-velocidad,y)
{
x-=velocidad
}

if keyboard_check(key_right) and place_free(x+velocidad,y)
{
x+=velocidad
}

if keyboard_check(key_down) and place_free(x,y+velocidad)
{
y+=velocidad
}

Velocidad varia pero normalmente es 4

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.
 


Desconectado hardraid

  • Adicto
  • *
  • Puntos: 5
  • Mensajes: 297
  • Sexo: Masculino
    • Ver Perfil
    • http://www.hardraidsoftware.com.ar
Respuesta #12 en: Febrero 12, 2010, 08:54:22 pm
es raro, lo acabo de probar tal cual y la sombra esta bien, yo lo puse en step al codigo este. q version usas?

¿Eres experto en Game Maker y quieres enseñar lo que sabes? Únete a nuestro proyecto como tutor. ¿Tienes en mente un gran juego pero no sabes como usar Game Maker? Inscríbete y un tutor te guiará. Aprenderás diseñando un juego para luego diseñar el tuyo propio. Apúntate en http://www.comunidadgm.org/index.php?topic=10462.0.
 


Desconectado Wadk

  • In order to see...
  • Legendario
  • *
  • Puntos: 274
  • Mensajes: 2.355
  • Sexo: Masculino
  • ... you must close your eyes.
    • Ver Perfil
Respuesta #13 en: Febrero 13, 2010, 01:23:23 am
Wadk, lo de image_speed lo aclare en el post.
Ah, mal yo xD.

 


Desconectado kakashigna

Respuesta #14 en: Febrero 13, 2010, 06:09:29 am
he debugeado el script en mi juego un rato y ya vi exactamente donde sale el error...Cuando en mi juego golpeo con el palo(osea hay animacion) y a la vez me muevo y dejo de moverme la sombra no se deja de mover imediatamente y por eso pasa de largo...Todavia no he leido el code del script pero ver que puede ser MMM despues de que lo estudie un poco...


salu2

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.