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 - Draken.i78

1
ok si background es lo que quieres animar puedes hacer lo siquiente usando unicamente un solo background en el room y animandolo de la siquiente manera:

event create :
[gml]
time=0;[/gml]

event step :
[gml]
{
if time<30 {time+=1;} // aqui lo puedes cambiar para que sea mas rapido o mas lento ejemplo 0.1 = lento, 1 es mas rapido
else       {time=0;}
if time>=0 && time<= 10     {background_index[0]=bg1;}
else if time>10 && time<=20 {background_index[0]=bg2;}
else if time>20 && time<=30 {background_index[0]=bg3;}
}[/gml]

de esa manera usas unicamente un background y animandolo con la variable time para cambiar al otro background que deseas.... asi se vera como si fuera un GIF animado en el juego
2
si tienes razon no es imposible pero para que amplicar tanto como especialmente en GM cuando se puede solucionar con un peque?o sprite y de alli solo se altera la colisiones usando collision checks.....
3
hacer collisiones sin usar sprite es casi imposible porque en si la collision entre un objeto a otro es basado a MASK de ese objeto y en este caso el objeto no tiene ninguna, lo que puedes hacer es unicamente create un sprite y colocarlo como MASK en ese objeto y de alli la collision sera basara unicamente con la MASK que esta usando el objeto.
4
Preguntas y respuestas / Re: Ayuda con animaci?n
Abril 08, 2011, 07:43:26 PM
Usar Los sprites ejemplo :

If keyboard_check(vk_left) or keyboard_check(vk_right) {sprite_index=caminando;}
else {sprite_index=parado;}

Se puede hacer mas complex o puedes bajar El ejemplo que hice hace tiempo atras de MegaMan Engine alliance veras como implemento El cambio de sprites ...

P.S. si antes era Latinsoft y ahora que he regresado al GM estare usando Draken
5
te la manera que habia escrito anteriormente no es necesitad de hacer el objeto persistente.... solo es te crearlo con las variable GLOBAL y lo dejas en el primer room del juego y eso es todo..
6
Preguntas y respuestas / Re: Interfaz Desajustada
Abril 07, 2011, 09:42:42 PM
si es una clase de interface que siga la view mientras tu avanzas por la room, saltas, avanzas hacia arriba y todo eso para que no tengas tantos problemas y se vea mas nitido te podria decir que lo que controla la interface este en el evento DRAW y el objeto controlador del interface lo puedes colocar en donde tu quieras en el room

como por ejemplo :

[gml]draw_sprite(energybar,0,view_xview[0]+2,view_yview[0]+2);
draw_text(view_xview[0]+17,view_yview[0]+1,string(global.energy));[/gml]

de esa manera la interface siempre estara siquiendo la view no importa por donde este o vaya sin retrasarse
7
lo mas recomendable asi te ahoras tantos dolores de cabeza es una una variable GLOBAL ya que las variables globales no cambian o se alteran al cambiar de room a menos que tu las cambies lo mismo hago yo y con las vidas y cosas que necesite hacer de esa manera.... como por decir crear un objeto lo puedes llamar control_global

en el evento create:

[gml]global.energy = 100; //aqui le estamos dando una vida de 100 puntos[/gml]

ahora lo unico que debes hacer es colocar este objeto en la primera room que empiesa tu juego si tu juego empiesa en algun logo o algo por el estilo pues coloca el objeto en ese room y eso es todo....
cada ves que quieras reducir la energia solo has lo siquiente por ejemplo :

[gml]if morir=false // si personaje esta vivo
{
  if global.energy>0 {global.energy-=1;} // si la energia esta mayor que 0 reducimos 1 punto de energia
  else {morir=true;} // si la energia esta igual o menor que 0 hacemos que muera
}
else {codigo de animacion morir que tu tengas}[/gml]

y si es de darle energia solo tienes que hacer [gml]global.energy+=1;[/gml]


NOTA: el objeto NO lo tienes que colocar en todos los room, solo colocalo en tu primer room en donde todo empiesa en el game ya sea en el room del titulo o intruduccion



8
bueno que bien que lo lograstes y si mi codigo puedes regular la velocidad yo le habia puesto 0.2 de velocidad porque solo eran 5 imagines.... esperamos ver tu trabajo pronto
9
no hay de que... y el ejemplo en con una sequencia con imagines si vas a donde esta los sprites alli veras el sprite con 5 subimagenes so los codigos son para animar esa imagen sprite cada ves que pones el mouse y sale usando una solo sprite animado.... y no te preocupes estamos para ayudar...yo apenas estoy volviendo a esto del game maker otra ves ya tenia un tiempo que no me ponia a experimentar con el Game Maker
10
te elabore un peque?o ejemplo en como puedes implementar la animation cuando este el mouse sobre lo que quieres animar y cuando el mouse ya no este.... fue lo primero que se me vino a la mente so espero sea de ayuda
11
lo que necesitas crear 2 variables que guarden en donde estaba el personaje cuando el enemy lo dejo de ver.....

crear variables en event create :

[gml]last_perX = x; // aqui grabaremos x del personaje cuando deje de ver
last_perY = y; // mismo brabaremos y cuando deje de ver
look = 0; // si el enemy esta viendo o no
[/gml]

event step :

[gml]if (look=1) // enemy esta viendo
{
move_towards_point(personaje.x,personaje.y,3); // aqui haremos que lo siga
last_perX = personaje.x; // estamos grabando por donde va hasta que deje de ver
last_perY = personaje.y; // mismo en esta variable solo que para Y
}
else
{
 move_towards_point(last_perX,last_perY,3); // aqui nos moveremos hasta donde estaba por ultima ves el personaje
}[/gml]

espero esto te de una mejor idea

P.S. disculpa si las variables estan en ingles solo que ya estoy acostumbrado  :-[

Edit : puedes bajar el ejemplo que elabore esta en GM8 cuando lo corras usa las teclas Z para hacer que el enemigo te siga y X para que no te siga y vaya a donde estabas por ultima ves antes de pararlo
12
mmmm dejame ver si entendi lo que quieres hacer... estas usando un objeto controlador de musica y lo tienes puesto en cada room algo que se me ocurre y es lo he hecho en mis proyectos es tener un script por ejemplo :

script_musica dentro del script

musica = sound_add("argument0",1,true);
sound_play(musica);



ahora en el evento create del objeto controlador de la musica :

if (room=level1) or (room=level3)      { script_music("level1.mp3") }
else if (room=level2) or (room=level7) { script_music("level2.mp3") }

y asi sucecivamente bueno espero te sirva