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

526
Preguntas y respuestas / Re: Colision con paredes
Septiembre 07, 2011, 02:29:11 AM
Mmm probaste con:
[gml]
x = xprevious;
y = yprevious;
[/gml]

Y si no con if, lo simple.
[gml]
if place_free (x+4,y)
{
x += 4
}
//Y asi con todas las variantes de los movimientos.
[/gml]
527
Preguntas y respuestas / Re: Mover objeto de enfrente
Septiembre 06, 2011, 11:26:17 PM
Es problema con el depth, la profundidad.

Fijate que si le pones una depth menor al cuadrado, siempre va a quedar por encima del triangulo y siempre se va a mover ese cuando este por encima, y viseversa.

Ponle mayor depth al que quieres que quede por detras.
528
Ya te lo explique en la pagina anterior, pero capaz que no entendi.

D&D, Drag & Drop, se llama el sistema que usas para programar si es que usas las librerias, y las librerias son estas (Imagen):
529
Preguntas y respuestas / Re: Movimiento de Tiles
Septiembre 06, 2011, 01:34:13 PM
Igualmente es muy inseguro lo que te dije, ya que no se que quieres hacer.

Pero cuando algo se crea, adquiere valores en las variables "xstart" e "ystart" que son los valores de "x" e "y" que tenian cuando se crearon.

Como lo que no entiendo de tu problema es que nunca use tiles, lo que te voy a decir es lo que yo probaria, pero no se si estara bien.

Recien busque y encontre que para obtener los valores "x" e "y" de los tiles se puede hacer con lo siguiente:


tile_get_x(id) Devuelve la posici?n x de la tile con la id especificada.
tile_get_y(id) Devuelve la posici?n y de la tile con la id especificada.


En el evento create de algun objeto controlador: a una variable, por ejemplo: "xprimera" le asignas el valor de "x" del tiles apenas se hace (Con la funcion de arriba) y a otra variable, por ejemplo: "yprimera" le asignas el valor de "y" con su funcion correspondiente.

Despues vas a poder acceder a esos valores cuando tu quieras, siempre y cuando no modifiques la variable.
530
Y, lo basico seria que le pidas al jugador que ponga la cancion en la carpeta del juego y que escriba el nombre de la cancion que quiere.

Por ejemplo:

CitarPor ejemplo, si queremos cargar un archivo MIDI para ser usado como m?sica de fondo en el juego, usar?amos algo similar a:

C?digo:

mi_musica1 = sound_add("musica1.mid",1,true)


Esto es s?lo aplicable para archivos WAV o MIDI.

Para abrir MP3 u otros archivos de m?sica que son reproducibles comunmente con el Reproductor de Windows (eso excluye los archivos OGG), usar?amos:

C?digo:

mi_musica2 = sound_add("musica2.mp3",3,true)


Para reproducir nuestra m?sica usar?amos el c?digo:

C?digo:

sound_play(mi_musica)


Para encontrar m?s funciones para m?sica y sonido, vaya al manual de GM.
531
Ya hay 3 engines en este mismo posts que hace eso.

Es porque le estas restando valores a la variable equivocada.

Si la vida del jugador esta guardada en la variable "Vida_Jugador" fijate de restarle valores a esta variable.

Y cuando le tengas que restar al enemigo, restale a "Vida_Enemigo"

(Obviamente, ahi van los nombres de las variables que escojiste)

Y si lo quieres hacer con D&D, en la pagina anterior te dejaron un engine sobre como hacerlo con D&D
532
Preguntas y respuestas / Re: Movimiento de Tiles
Septiembre 05, 2011, 11:14:59 PM
Mmm xstart e ystart no existe para eso?
O guarda las variables x e y iniciales en variables y luego las usas
533
Mmm se que para agregar sonidos externos hay que hacerlo con:


sound_add(fname,kind,preload)
Donde:
fname - Nombre y ubicaci?n del archivo
kind - Tipo de sonido (0 = normal,1 = m?sica de fondo,2 = sonido 3d, 3 = Reproducir con el reproductor de Windows)
preload - Preparar la m?sica antes de ser usada.


Habria que ver como quieres hacer para elegir el "fname".
534
Preguntas y respuestas / Re: Barra de carga
Septiembre 05, 2011, 05:28:38 AM
Aca te dejo una imagen de esa parte, sus dimensiones son: 332x92

La parte que esta en blanco, es la parte que ocupa la barra.

Ahora haz lo mismo que hiciste con la de la barra y listo ^^
535
Para capturar la pantalla utiliza:

[gml]
screen_save(fname)

//fname lo tienes que sustituir por ejemplo por: "Nivel1.bmp" (La extension no se si es necesaria.
[/gml]

Y puedes poner en el codigo de creacion del room siguiente o en algun objeto que este en ese nuevo room la sentencia:

[gml]
background_add(fname,transparent,smooth,preload)
[/gml]


Agrega la imagen almacenada en el archivo fname al juego de recursos background. Solo se pueden manejar im?genes bmp y jpg. transparent indica si la imagen es parcialmente transparente. smooth indica si se alisar?n los bordes. preload indica si se precargar? la imagen en la memoria de texturas. La funci?n devuelve el ?ndice del nuevo fondo, el cual se puede usar para dibujarlo o para asignarlo a la variable background_index[0] para hacerlo visible en la habitaci?n actual. Devuelve -1 cuando ocurre alg?n error.


Y ahora solo te quedara ponerla de fondo en el room.






Una funcion que tiene lo que pides pero no se si al 100% es:

[gml]
background_create_from_screen(x,y,w,h,transparent,smooth,preload)
[/gml]


Crea un fondo copiando un ?rea indicada de la pantalla (x, y=coordenadas esquina superior izquierda, w=ancho, h=alto). Esta funci?n permite crear cualquier fondo que se desee. Se dibuja la imagen en pantalla usando las funciones de dibujo y a continuaci?n se crea un nuevo fondo de ella. (Si no se hace esto en el evento drawing incluso se puede lograr que no sea visible en pantalla si no se refresca). Los otros par?metros son similares a los de las anteriores funciones. La funci?n devuelve el ?ndice del nuevo fondo. Se requiere algo de cuidado aqu?. Aunque se habla de la pantalla, lo que importa es la regi?n en la que se dibuja. No importa el hecho de que haya una ventana en pantalla y que la imagen en ella pudiera estar escalada.
536
Preguntas y respuestas / Re: Barra de carga
Septiembre 05, 2011, 02:53:13 AM
Es facil, solo debes tener 2 imagenes:

Una imagen para el fondo de la barra (Lo que esta a la vista cuando la barra de cargado no llego hasta ahi)

Y una imagen de la barra de cargado terminado.

Para saber cuanto miden le puedes sacar un screen y medirlo con el paint.

Yo ya te lo medi, son:

284 x 16 (Medidas del paint, obvio)

Aca te dejo imagen de la barra para que veas la medida.

Lo que puedes hacer es poner un dibujo en blanco con las mismas dimensiones y listo.




Cabe aclarar que la imagen de esta barra no esta hecha en esas dimensiones, es una imagen mas chica que se alarga al cargarse.
No es de mucha importancia esto, pero es un dato interesante :)
537
Hice un engine para ayudarte:

Lo que hacen los enemigos es:

@ Al crearse, se mueve en una direccion al azar con la sentencia "action_move" y se asigna alarm[0] en 15.

@ En Alarm[0] verifica si el enemigo esta a mas de 64 pixeles, si la funcion devuelve true (Osea, que se cumple la condicion), se mueve de la misma manera que al crearse. Y afuera del "If" reinicia el alarm[0] (Osea, lo pone en 15 de nuevo)

@ En el "Step" verifica si el enemigo esta a menos de 64 pixeles, si es asi, invierte su speed, para que vaya en el sentido contrario.

@ Y en Intersect boundary se hace que la velocidad se invierta, para lo mismo que arriba, y se reinicia el alarm[0] (Osea, lo pone en 15 de nuevo).




En el jugador solo esta el evento "Draw" para dibujar un ciculo de 64 de radio para que veas en que radio no pueden entrar los enemigos.
538
Puedes hacerlo con un time line.

Pero no se manejar los steps en periodos de segundos. Pero si tu lo sabes o lo averiguas, con un time line lo podrias hacer.
539
Aca te hice un engine de como seria:

@ Mueves al personaje con las flechas, los cursores. Al enemigo con WASD y disparas (Con el enemigo, asi ves como baja la vida del Jugador) con <Space>.

@ La view sigue al jugador.

@ Los valores de la barra de vida los puedes cambiar sumandole o restandole cosas a "view_xview" y "view_yview".
540
Cuando usas una view, esta misma tiene valores de x e y propios, estos 0 se situan en la esquina superior izquierda.

Que quiere decir esto?

Que para que la barra de vida del jugador te aparezca desde la punta superior izquierda de la pantalla y por mas que te muevas la barra de vida tambien se mueva.

Debes poner en el valor "x": view_xview
Y en el valor Y: view_yview
Y los valores x2 e y2 (Que son donde termina la barra de vida) debes ponerlos a tu gusto.