Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - seed86

16
Muchas gracias por tu ayuda, pero no lo veo claro, si cambia todo un rectángulo que contenga el sprite no se verían las esquinas del mismo (fuera del sprite) también en negativo?
Otro problema que tengo es que nunca he usado scripts...  :-[ Tendré que buscar algún tutorial sobre como ejecutarlos.
17
Preguntas y respuestas / Re:hola tengo una duda
Noviembre 17, 2013, 03:17:23 AM
Prueba a poner en las coordenadas x e y lo siguiente:

En la cordenada x: view_xview+(el valor que tenias antes de x)
En la cordenada y : view_yview+(el valor que tenían antes en y)

De esta manera deberían quedarse fijos en la pantalla y no desaparecer.
Espero que funcione, un saludo!
18
Hola a todos.

Me gustaría saber cómo se pueden invertir los cólores de un sprite cuando este recibe daño (como una imágen en negativo) haciendo además en efecto de parpadeo. Aqui os dejo una imagen:



La imagen es del juego AVGN adventures dónde se usa este efecto y es muy vistoso. Si no si alguien sabe como hacer que el enemigo tome un tono más rojizo tambien me serviría.

Yo ya sé hacer un efecto de parpadeo cambiando el alpha del objeto pero desconozco cómo se hace el efecto de negativo o de coloreado del sprite.

Muchas gracias
19
Sí, esta claro que hay que hacer algo completamente diferente..
20
Preguntas y respuestas / "Ghost Platforms" sin usar solid
Noviembre 13, 2013, 12:48:15 AM
Hola.
Estoy haciendo un plataformas 2D  y quiero estoy programando las típicas plataformas que puedes atravesar desde abajo pero luego al caer aterrizas sobre ella como si de un suelo se tratase.

Para ello he usado el siguiente código:

Step en el protagonista:
//Vertical Collision
if place_meeting(x,y+vsp,par_wall)
{
    while (!place_meeting(x,y+sign(vsp),par_wall)) y+=sign(vsp);
    if (sign(vsp) == 1) grounded = 1;
    vsp = 0;
   
}
else
{
    grounded = 0;
}


//Commit to movement

y += vsp;




Para hacer las plataformas utilicé dos objetos diferentes "par_ghost_floor_nosol" que no es sólido y "par_ghost_floor_sol" que tiene como parent "par_wall" que uso como suelo y pared en el juego (es sólido).
Estos objetos se alternan en función de la posición del protagonista respecto a ellos.

par_ghot_floor_nosol:
Jump-Through Platform
if obj_hero_A.y<id.y-71 //if you are above the platform (AJUSTAR VALORES CUANDO SE CAMBIEN LOS SPRITES DEL PERSONAJE!!)
    {
    instance_change(par_ghost_floor_sol,true) //the platform is solid (because it has "par_wall" as parent.
    }
   


par_ghost_floor_sol:
//Jump-Through Platform
if obj_hero_A.y>y //if you are below the platform
{
   instance_change(par_ghost_floor_nosol,true) //the platform is not solid
}


De esta manera funciona bien. Pero mi problema es que al estar basado solo en la posición del personaje, no pueden haber enemígos ni objetos sobre este suelo, ya que si el personaje principal bajase, el suelo desaparecería y todo caería al suelo.
Del mismo modo esto sería injugable a dos players porque el suelo solo reaccionaría al player1.

¿Alguien sabe algún modo de hacer esto de otra manera más eficiente y acorde a las necesidades de este juego?
Quien me ayude saldrá en los créditos de mi juego!

Muchas gracias!
21
Muchísimas gracias Iros. Si lo deseas tu nombre aparecerá en los créditos del juego (si algún día ve la luz xd)
22
Gracias Iros, pero con tu sistema el parpadeo solo funciona una vez. la segunda vez que recibe daño el alpha del personaje no cambia.
23
Hola.
He programado el sistema de daño del juego. Cuando el personaje entra en contacto con un enemigo u objeto dañino, esta da un salto hacia atrás, el alpha del personaje cabia a 0.5 (semitransparente) y se hace invencible durante un corto periodo de tiempo.

Me gustaría saber cómo podría hacer que mientras el personaje es invencible que en vez de ser semitransparente todo este tiempo (como lo tengo programado) que parpadee cada uno o dos frames cambiando su alpha de 0.5 a 1. He probado con dos alarmas que hagan un bucle entre sí pero no lo he conseguido.
De momento pongo el código que tengo:

STEP del personaje:
//Damage
if hurt=1{
  alarm[3]=5;   //break the back jump
  image_alpha=0.5;
}else{
  image_alpha=1;
  alarm[2]=30; // make the character invincible for a while
}     



STEP del enemigo
if (obj_hero_A.hurt = 0)
{
  global.hp -= 1; //damage to character
  audio_play_sound(sd_miniscream, 1, false);
  obj_hero_A.hurt = 1;
  obj_hero_A.block_keys = 1;
  alarm[0] = 6;
  if (x < other.x){obj_hero_A.hsp = 30;  obj_hero_A.vsp = -15;}   
  if (x > other.x){obj_hero_A.hsp = -30; obj_hero_A.vsp = -15;}
}

24
Lo he entendido muy bien gracias. Lo he probado y funciona.
Ahora mi única pega es hacer que durante unos pocos frames las teclas de movimiento queden desactivadas. Esto es porque si no dejo de correr la reacción del personaje es casi inapreciable.

Gracias de nuevo!
25
Y si hubiera más de un enemigo en pantalla? funcionaría de esa manera o se confundiría, imaginate que hay un enemigo delante y otro detras del personaje.
Gracias por contestarme.
26
Hola a todos.
Quisiera programar que el personaje principal de un salto hacia atrás cuando hace contacto con un enemigo o con cualquier otro elemento dañino del juego. Se trata de un plataformas 2D estilo Ghouls & Ghosts.

De momento tengo lo siguiente:

en STEP:
//Damage
if hurt=1{
  image_alpha=0.5;
}else{
  image_alpha=1;
  alarm[2]=30; // make the character invincible for a while


Cuando se hace contacto con un enemigo se activa la variable hurt del personaje y durante 30 frames es invencible. A esto quisiera añadirle el efecto de salto hacia atrás y no sé como hacer que el salto sea hacia izquierda o derecha dependiendo de la posición del personaje respecto al enemigo.
27
Creo que lo he entendido. Muchísimas gracias, me acabas de dar toda un clase gratuita.
Eres un fenómeno. 8)
28
Wow! Increible, funcionó a la perfección. Muchísimas gracias! tan solo me gustaría entender como funcionan las variables "i" y "j" que has usado en este código. sobre todo en la línea que dice "i * hearts_per_row + j + 1 > health"

De nuevo muchísimas gracias, si lo deseas tu nombre puede salir en los créditos por la ayuda prestada.
Un saludo
29
Estoy intentando hacer un sistema de vida estilo zelda, tan solo unos corazones en la zona superior izquierda de la pantalla, cuando el personaje recibe un golpe desaparece un corazón entero (nada de cuartos y medios corazones). Usando D&D consigo hacer que salgan todos en la misma línea pero me gustaría saber cómo hacer para que, en caso de superar los 5 corazones comenzasen a dibujarse en otra fila por debajo de esta, de forma que quedasen dos filas de 5 corazones en lugar de una de 10.

Algo así:
30
No quería hacerlo, pero finalmente he tenido que crear otro objeto para la lanza en dirección izquierda con el sprite invertido y escribir sus propias propiedades... de esta manera pesa el doble pero por código no tenía ni idea de como arreglarlo