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 - TheWood

46
He conseguido que giren a la distancia y en el horario necesario.


en "radio_bola" colocas la distancia necesaria.

objBola_Antihorario

Step:
///Codigo de la bola
x = objPlayer.x + cos(degtorad(angulo_bola)) * radio_bola;
y = objPlayer.y - sin(degtorad(angulo_bola)) * radio_bola;
angulo_bola -=  6; //velocidad de las bolas


objBola_Horario

Step:
///Codigo de la bola
x = objPlayer.x + cos(degtorad(angulo_bola)) * radio_bola;
y = objPlayer.y - sin(degtorad(angulo_bola)) * radio_bola;
angulo_bola +=  6; //velocidad de las bolas
47
Eso de los "==" no lo sabía  :o, pero aún así de vez en cuando hace la animación de muerte y otras veces no  :'(

(No entiendo porque me adjunta imagenes al azar esta cosa xD)
48
Cita de: TheWood en Agosto 13, 2017, 05:30:06 AM
Bueno en realidad eso ya lo sé, que es con image_speed = 0 y colocar la sub-imagen que quieres en el sprite con image_index = " valor ".

Pero no entiendo el por qué esto no ocurre.

Tengo un objeto que al estar cerca del player activa una variable, esta al estar activa hace que se cambié de sprite y se coloqué el sprite del enemigo muriendo( que es de 2 sub_images), en el evento "animation end" se detecta, si el sprite es del jugador muriendo y la variable esta activada, entonces debería congelar la imagen en el sub-image = 1 y parar la animación con image_speed = 0, y aveces la animación queda perfecta y otras solo se ve el ultimo frame, pero no el primero ¿Por qué sucede esto,sera que es muy rapido?

Todo el sistema para detectar al jugador y colocar la variable esta en el evento "Step".

También me gustaría saber sus trucos en esto de hacer animaciones.

De antemano muchas gracias y espero haberme explicado bien. XD

El problema aun persiste, de vez en cuando solamente hace la animación completa de la muerte y otras solo devuelve el ultimo frame de esta.

Step event:
//Detectar Al Player
if ((distance_to_object(objPlayer)<14.8)) and (!Muerto[0]) {
  Muerto[0] = true;
}

//Disparar
if Muerto[0] = false {

timer++;
if timer = 1
  {
   a = instance_create(x,y-15,objSoldado00_Bala);
   a.hspeed = 4*image_xscale;
   sprite_index = sprSoldado00_Disparando;
   image_speed = 0.5;
  }

if timer = 11
  {
   sprite_index = sprSoldado00_Stand;
   image_index = 0;
  }

if timer = 21
  {
   a = instance_create(x,y-15,objSoldado00_Bala);
   a.hspeed = 4*image_xscale;
   sprite_index = sprSoldado00_Disparando;
   image_speed = 0.5;
  }

if timer = room_speed*2 {timer = 0;}

} else if Muerto[0] = true {timer = -1;with (a) {instance_destroy();} }

//Cambiar el xscale
if (!Sellado) {
if instance_exists(objPlayer) and Muerto[0] = false  {
  if objPlayer.x<x {xscale = -1;}
  if objPlayer.x>x {xscale =  1 ; } 

}
}
if Muerto[1] = true {image_xscale = xscale*-1;}

image_xscale = xscale;
//Muerte animation
if Muerto[0] = true {
sprite_index = sprSoldado00_Muerte;
if timer2 = 0 {image_speed = 0.2;}
}

if Muerto[1] = true {
timer2++;
image_speed = 0;
if timer2 = 3 {image_alpha = 0;}
if timer2 = 6 {image_alpha = 1;}
if timer2 = 9 {image_alpha = 0;}
if timer2 = 12 {image_alpha = 1;}
if timer2 = 15 {image_alpha = 0;timer2 = -1;instance_destroy();}
}


Animation End
if (sprite_index == sprSoldado00_Muerte)
{
image_speed = 0;
image_index = 1;
Muerto[1] = true;
}

Ahora inserte el codigo completo de mi enemigo ¿Sera culpa de la forma de detectar si el player esta cerca ?
49
Muchas gracias, parece que ahora sí funciona.

Qué raro que solo quitando otra condición empiece a funcionar como debería el 100% de las veces xd.
50
Esto va en Step:

//Muerte animation
if Muerto[0] = true {
sprite_index = sprSoldado00_Muerte;
if timer2 = 0 {image_speed = 0.2;}
}

if Muerto[1] = true {
timer2++;
image_speed = 0;
if timer2 = 3 {image_alpha = 0;}
if timer2 = 6 {image_alpha = 1;}
if timer2 = 9 {image_alpha = 0;}
if timer2 = 12 {image_alpha = 1;}
if timer2 = 15 {image_alpha = 0;timer2 = -1;instance_destroy();}
}


Esto va en animation end:

if sprite_index = sprSoldado00_Muerte and Muerto[0] = true {
image_speed = 0;
image_index = 1.1;
Muerto[1] = true;
}
51
Bueno en realidad eso ya lo sé, que es con image_speed = 0 y colocar la sub-imagen que quieres en el sprite con image_index = " valor ".

Pero no entiendo el por qué esto no ocurre.

Tengo un objeto que al estar cerca del player activa una variable, esta al estar activa hace que se cambié de sprite y se coloqué el sprite del enemigo muriendo( que es de 2 sub_images), en el evento "animation end" se detecta, si el sprite es del jugador muriendo y la variable esta activada, entonces debería congelar la imagen en el sub-image = 1 y parar la animación con image_speed = 0, y aveces la animación queda perfecta y otras solo se ve el ultimo frame, pero no el primero ¿Por qué sucede esto,sera que es muy rapido?

Todo el sistema para detectar al jugador y colocar la variable esta en el evento "Step".

También me gustaría saber sus trucos en esto de hacer animaciones.

De antemano muchas gracias y espero haberme explicado bien. XD
52
Yo hice eso colocando en el evento "Draw" un draw_line y solo remplace los valores con el de mi colision_line.
53
Ve al Temp directory y busca tu proyecto
54
MMMmmmmmm......que raro a mi si me los crea, podrías hacer que gamer maker compruebe si existe

if file_exists(working_directory + "config.ini") {show_message("Hola"); } si existe debería salir un mensaje.
55
Acabo de probar el código, y remplacé "obj_menu.Language" por "ES" y me guardó perfectamente, tal vez sea un error del obj_menu.Language.
56
Cita de: Missy en Agosto 10, 2017, 06:31:31 PM
Cita de: TheWood en Agosto 10, 2017, 06:03:34 PM
Para poder guardar en el .ini, la variable debe estar creada en el objeto que la ejecuta,una variable global o usar una variable local.El codigo que utilizas te sirve para poder guardar la información pero no para cargarla.

Para cargarla utiliza ini_read_string("Sección","Nombre","valor") //para textos   ini_read_real("Sección","Nombre","valor") //para numeros

después solamente haces que la variable deseada tome ese valor con Variable = ini_read_(string o real)("Sección","Nombre","valor")

He usado:

//Cambiar el idioma
ini_open(working_directory + "config.ini");
ini_write_string("Options", "Language", obj_menu.Language);
ini_close();


Pero no he conseguido hacerlo funcionar

¿Ese codigo es para guardar la variable ? porque si es así debería funcionar,
puedes comprobar si te crea el archivo en "C:\Users\Sala1\AppData\Local"

solo cambia el " Sala1 " por tu usuario y busca el nombre de tu proyecto y el .ini

También revisa si "obj_menu.Language" es un texto y no un numero
57
Para poder guardar en el .ini, la variable debe estar creada en el objeto que la ejecuta,una variable global o usar una variable local.El codigo que utilizas te sirve para poder guardar la información pero no para cargarla.

Para cargarla utiliza ini_read_string("Sección","Nombre","valor") //para textos   ini_read_real("Sección","Nombre","valor") //para numeros

después solamente haces que la variable deseada tome ese valor con Variable = ini_read_(string o real)("Sección","Nombre","valor")
58
Ignoren esto xd

solo tuve que hacer el personaje persistente y agregar que si ya existe,sus cordenadas sean las mismas que xx e yy  :P
59
Hola buenas, estoy creando un sistema de guardado, pero como dice el titulo el juego solo carga la room, pero el personaje no es creado.

Algo que he podido ver es que si elimino que vaya a la room y se quede en la primera pantalla se crea el personaje, me hace pensar que es un bug del gamer maker :'(.

Acá esta el codigo:

//Load System
var r,xx,yy;
ini_open(working_directory + "Save.ini");
xx=ini_read_real("Player","x",x);
yy=ini_read_real("Player","y",y);
r=ini_read_real("Room","room",-1);
ini_close();

room_goto(r);
if (!instance_exists(objPlayer)) { instance_create(xx,yy,objPlayer); }
60
Juegos completos / Re:Alfomedor
Abril 24, 2016, 05:51:35 AM
Que buen juego,sonidos perfectos,música buena ( pero se puede mejorar ),jugabilidad perfecta,graficos que me encantaron y efectos especiales
G-E-N-I-A-L-E-S.

Yo sugiero que agregues mas sprites para el tipo que camina,para que no siempre sea el mismo,Que la musica y escenario varíen y agregar mas objetivos ya que defender a un tipo por mucho tiempo se vuelve aburrido  :-[