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

616
Aca te dejo un ejemplo que hice, creo que no es 100% lo que quieres, pero tienes para guardar y cargar partidas al estilo de cuando seleccionas en cualquier programa "Guardar como...".
Si no entendiste, bajalo de aca y veras, espero que te ayude.

http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=2311

Eso seguro te sirva, pero si quieres eso que explicaste al 100% tendras que adaptarlo un poco o esperar que alguien mas te ponga un ejemplo o codigo completo.

PD: Te agradeceria que lo comentes y lo califiques, pero recuerda que el ejemplo te ense?a como guardar y cargar una partida desde un sistema similar al de "Guardar como...", calificalo como eso. No lo califiques como un ejemplo a lo que quieres tu, porque no es eso :)
617
Eso lo pusiste en un step, verdad?

Y el problema es que no puedes hacer eso, o derecha o izquierda, nada mas. Porque por ejemplo, cuando tenga mas "x" y mas "y" que va a hacer? Crea conflicto.

Ponlo de derecha - izquierda o como mucho los sprites a 45? para poder las 4 sentencias (arriba y derecha, arriba e izquierda, abajo y derecha, abajo e izquierda)
618
Cita de: brunoxzx en Agosto 03, 2011, 11:26:06 PM
Bueno pues no se por que usan la funcion sprite_assign() que lo que hace es crear una copia del sprite, si lo ?nico que quieren hacer es cambiar de sprite, para es lo ?nico que tienen que hacer es usar la variable sprite_index y asignar all? el nombre del sprite.

Ejemplo
[gml]sprite_index=spr_enemigo_izq[/gml]

y listo as? se cambia de sprite.

El tiene razon, cambia la sentencia que te dije yo por la que dijo el, perdon por haber dado una mala respuesta (N)
619
Si te digo la verdad yo tambien tengo una duda con esa sentencia, me parece que el primer "0" indica el index del sprite, no el numero de la imagen.

Osea, no es como image_index()
Es cuando creas el primer sprite tiene el index 0, cuando creas otro el 1, y asi. Assi que ese "0" lo deberas cambiar por el correspondiente.

Pasate por el manual que seguro hay una sentencia para conseguir el index de cada sprite. Y sino, lo tendras que ver a mano
620
Puedes hacerlo con la siguiente funcion:

[gml]
//Sentencia:
sprite_assign(ind,source)
//Ejemplo
sprite_assign(0,sprite1)
[/gml]
621
Eso del sprite tendria que ser algo como:

[gml]
if Enemigo.x > Jugador.x
{
image_index = 1 //Suponiendo que la image1 fuera la que mira hacia la izquierda.
}
else
{
image_index = 0 //Suponiendo que la image1 fuera la que mira hacia la derecha.
}

//Lo que hace este codigo es verificar si Enemigo.x (La "x" del enemigo) es mayor que Jugador.x (La "x" del jugador).
//Si esto fuera cierto, se tendria que poner la imagen del enemigo hacia la izquierda, ya que si el enemigo tiene "Mas x" significa que esta a la derecha del jugador.
//Si esto no fuera cierto, se tendria que poner la imagen del enemigo hacia la derecha, ya que si tiene "Menos x" significa que esta a la izquierda del juegador
[/gml]

NOTA: No se si ta va a funcionar asi nomas en ese ejemplo, quizas lo tengas que adaptar un poco, pero asi seria la forma mas simple, creo yo.

Saludos!
622
Preguntas y respuestas / Re: El boss acumula la vida
Agosto 03, 2011, 01:59:15 AM
Pon que cada vez que se cree la instancia, la variable que contenga su vida vuelva a ser 10 (O el numero que sea)
Y fijate que no sea persistente el objeto.
623
Preguntas y respuestas / Re: El final del boss
Agosto 03, 2011, 01:57:57 AM
Mira, yo tengo un juego que tiene sonido de fondo y tiene sonidos al saltar y al pasar de nivel y ninguno se frena hasta que no termine, ahora te digo como los tengo:

En el evento Create del objeto de mi personaje tengo:

[gml]
if !sound_isplaying(Musica)
{
sound_loop(Musica)
}

//Si no esta sonado el sonido "Musica" que se reproduzca con loop (Osea que se reinicie cuando termine.
[/gml]

En el evento Press UP del objeto del personaje tengo:

[gml]
sound_play(Salto)

//De aqui solo te interesa el sound, asi que los "IFs" y demas cosas las quite, es un comando de salto asi que te imaginaras cuales son los "IFs" y demas sentencias.
[/gml]

Y en la colisicion con el objeto que te hace pasar al siguiente nivel:

[gml]
sound_play(Pasar_Nivel)

//De aqui solo te interesa el sound, asi que los "IFs" y demas cosas las quite, es un comando de salto asi que te imaginaras cuales son los "IFs" y demas sentencias.
[/gml]
624
Preguntas y respuestas / Re: Intro y creditos
Agosto 02, 2011, 11:35:54 PM
Para cargar partida es lo mismo, solamente que cambias:

[gml]
game_save("save_n");
[/gml]

Por:

[gml]
game_load("save_n");
[/gml]

Osea, para el caso que te di yo, por ejemplo crea 3 sprites de cuadrados azules con numeros y crea 3 objetos distintos y ponele los sprites como antes, y en cada left pressed le pones esa nueva sentencia que te di, y despues lo vas a ir adaptando a lo que tu quieres :)

Pero si adaptarlo no te sale, pregunta por aca o crea otro post y te ayudaremos :D
625
Preguntas y respuestas / Re: Intro y creditos
Agosto 02, 2011, 10:00:09 PM
Si, tienes razon, explique muy mal, perdon.




Supongamos que haces 3 sprites con forma de circulo, y cada uno tiene el 1, 2 y 3 adentro como para diferenciarlos.

Entonces creas 3 objetos distintos a los cuales les asignas los 3 sprites distintos.

Te quedaran 3 objetos (Circulo 1 con su sprite, circulo 2 con su sprite y circulo 3 con su sprite, no?)

A cada uno de estos objetos, creale el evento:

Mouse -> Left Pressed:
[gml]
game_save("save_n");

//Cambia la letra n por el numero del circulo (Ejemplo: Si estas en el circulo 2 deberias escribir "save_2").
[/gml]

Asi cada vez que le hagas clic a cada circulo grabara la partida correspondiente.




Si te digo la verdad, se como mostrar un video, pero no se como manejar lo que pasa cuando el usuario lo cierra o el video termina.

Para mostrarlo si te puedo explicar:

Para el intro y los creditos que quieres poner un video, me imagino que ya tienes el video hecho, no?

Bueno, cuando ya tengas el video (Los archivos .wmv son bastante livianos, creo que la calidad te servira y el GM8 los soporta (No se que otros archivos soporta)) crea un objeto "Controlador" que lo vas a poner en el room donde quieres que se vea dicho video.

Y al configurar este objeto "Controlador" ve al evento "Create" y selecciona la opcion: "Splash Video" de la pesta?a "main2".

Este D&D (Drag & Drop, es cuando utilizas las librerias y no codigos) hara saltar la configuracion del mismo, para que selecciones el nombre del archivo (Completo con la extension y el archivo debe estar en la misma carpeta que el editable (Que el .gmk) y si va a tener "loop" (Que se repita) o no.

Cuando el video termina o el jugador lo cierra la room sigue siendo la misma y queda como estaba antes de empezar el video, asi que te las tendras que ingeniar si es que quieres usar este metodo porque la verdad que no se como se puede manejar lo que pasa cuando el jugador cierra el video o este se termina, como te dije arriba.




Ahora si espero haberte ayudado!

Saludos!
626
Preguntas y respuestas / Re: El final del boss
Agosto 02, 2011, 09:38:47 PM
Con el Sound previamente creado ve al evento del personaje que lo hace disparar y pon lo siguiente:

[gml]
sound_play(Disparo)

//Donde "Disparo" es el nombre del Sound previamente creado para esto.
[/gml]

Para lo del boss es lo mismo, solamente va a cambiar el evento y el index (Es donde dice "Disparo" en el anterior).
Lo tendras que poner en el evento que verifique la muerte del boss (No se como estas haciendo para eliminar la instancia del boss o como haces para matarlo, pero ahi debera ir el codigo del sonido):

[gml]
sound_play(Muerte_Boss)

//Donde "Muerte_Boss" es el nombre del Sound previamente creado para esto.
[/gml]
627
Preguntas y respuestas / Re: Intro y creditos
Agosto 02, 2011, 08:39:19 PM
Puedes que un objeto reproduzca un videoo en el juego con la herramienta D&D llamada "Splash Video" de la pesta?a "main2".

En cuanto a las partidas deberas colocar en cada uno de esos "botones" (Que al presionarlos te llevara a la partida deseada) la misma sentencia pero solo cambiando el nombre del archivo, y eso bastara:
[gml]
game_save("save1");
game_save("save2");
game_save("save3");
[/gml]

Espero haberte ayudado!

Saludos!
628
Cita de: kaliman777 en Agosto 02, 2011, 08:16:41 PM
Cita de: MaanuRP en Agosto 02, 2011, 08:01:07 PM
Te dejo un ejemplo que acabo de hacer. Dime si tienes algun problema con ?l.

En este ejemplo tenes 3 rooms. El menu principal, una sala de "introduccion" (Es una animacion que cuando termina pasa a la siguiente sala) y el room del juego donde puedes guardar. Y en el menu principal puedes cargar la partida.

Lo estoy probando. Mi juego tiene sistema de puntajes en la ?ltima room y es aqu? donde deseo que se note la partida guardada.

Le hice alg?n ajuste a tu engine y funciona. Lo adaptar? a mi juego m?s tarde.
:P D?moslo por terminado. As? funka. Har? otro post de algo que no puedo hacer.

Me alegro que al fin hayamos encontrado la solucion a tu problema! :D

Si cuando lo adaptes tienes algun problema, sabes que puedes avisar y te responderemos en un segundo :D

Estare pendiente a ver si tambien te puedo ayudar en esa duda entonces ;)

Saludos!
629
Te dejo un ejemplo que acabo de hacer. Dime si tienes algun problema con ?l.

En este ejemplo tenes 3 rooms. El menu principal, una sala de "introduccion" (Es una animacion que cuando termina pasa a la siguiente sala) y el room del juego donde puedes guardar. Y en el menu principal puedes cargar la partida.
630
Cita de: brunoxzx en Agosto 02, 2011, 10:20:46 AM
Bueno yo creo que seria una mejor soluci?n crear un objeto que sea pariente de los objetos que vas a chequear, despu?s chequear con instance_nearest() cual es el objeto pariente mas cercano.

[gml]instance_nearest(x,y,par_objetos)[/gml]

Si no entendiste dejo adjunto

Excelente ejemplo! Un genio :D