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: Efecto de ser glopeado o atacado  (Leído 794 veces)

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

Desconectado T789

  • Habitual
  • *
  • Puntos: 110
  • Mensajes: 60
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
en: Octubre 08, 2019, 11:21:55 pm
hola busco como hacer un efecto de ser golpeado o atacado, porque ya me canse de usar el jump to start

busco hacer algo parecido al daño de sonic (ya tengo la animacion)

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Octubre 09, 2019, 04:25:14 pm
Podrias cambiar a otro objeto que tenga solo tenga ese comportamiento y cuando termine volver a cambiar al objeto principal. O hacer una maquina de estados.

 


Desconectado T789

  • Habitual
  • *
  • Puntos: 110
  • Mensajes: 60
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #2 en: Octubre 10, 2019, 02:06:59 am
Cambiar a otro objeto suena facil pero buscaba un ejemplo de como hacer ese comportamiento ya que existen varias formas y buscaba una efectiva

 


Desconectado cristopher2545

Respuesta #3 en: Octubre 10, 2019, 07:17:38 am
este codigo es algo largo pero funciona como la ceda puedes ser golpeado se muestra el sprite de dañado por unos segundos y despues entras en modo invulnerable donde nada puede hacerte daño, puedes aumentar o diminuir las variables de daño a tu gusto y cuanto dura la invulnerabilidad. si quieres añadir knockback puedes hacerlo añadiendo 2 variables nuevas

push1=false
push2=false

y en el evento step

if hurt= true && image_xscale=-1
{
push1=true
push2=false
}

if hurt= true && image_xscale=1
{
push1=false
push2=true
}

if push1=true
{
vsp=-4
hsp=-2
}
else if push2=true
{
vsp=-4
hsp=2
}

dependiendo de los numeros almacenados en el push es la fuerza con la que tu personaje sera lanzado en el aire

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Codigo de daño

Create event

hurt=false
timer=0
timer2=0
invulnerable=false
lock=false


Step event

if hurt=true
{
sprite_index=sprite14
timer+=1
lock=true
hsp=0
}

if timer>30
{
hurt=false
timer=0
invulnerable=true
alarm[0]=1
lock=true
push1=false
push2=false
}

if invulnerable=true
{
timer2+=1
}

if timer2>80
{
invulnerable=false
timer2=0
visible=true
}

Alarm[0]
if invulnerable=true
{
visible=true
alarm[1]=3
}

Alarm 1

if invulnerable=true
{
visible=false
alarm[0]=3
}

recuerda que debes bloquear las animaciones para que el sprite de dañado se muestre puedes hacerlo poniendo antes del codigo esto

if  hurt=false
{
// tus animaciones
}

y bloquear el movimiento

if lock=false
{
movimiento izquierda derecha
}


ahora para activarlo basta con poner en el evento colision con lo que sea esto

if hurt=false && invulnerable=false
{
hurt=true
hsp=0
}
« última modificación: Octubre 10, 2019, 08:26:07 am por cristopher2545 »

Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!
 


Desconectado T789

  • Habitual
  • *
  • Puntos: 110
  • Mensajes: 60
  • Agradecido: 2 veces
  • Sexo: Masculino
  • Solo quiero aprender para ser Mejor
    • Ver Perfil
Respuesta #4 en: Octubre 10, 2019, 12:19:27 pm
el codigo va bien, otro metodo que emplea las variables