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

1
Preguntas y respuestas / Re:Sistema Habilidades
Septiembre 23, 2017, 01:26:31 AM
Para activar una vez la alarma comprueba primero si la alarma no está iniciada:
[gml]
if(keyE)
{
if (alarm[1] < 0)
    {
    rayo =false;
    alarm[1] = 60*10
    }
}[/gml]
2
Tienes 2 funciones para copiar el ancho y alto de cualquier sprite:
[gml]sprite_get_width(nombre_del_sprite);
sprite_get_height(nombre_del_sprite);[/gml]
3
Este parte está bien:

Cita de: nonoroman en Septiembre 16, 2017, 10:57:39 AM
Collision Event with object objectPLATAFORMA_PADRE:

execute code:

move_contact_solid(direction,sprite_height);
vspeed = 0;
gravity = 0;




Todo parece indicar que el problema está el código de la plataforma. Compara tu código con el código del tutorial y comprueba que las plataformas son hijos del objeto padre y que tienen marcado la casilla "Solid".
4
Te dejo un tutorial escrito por Simon Donkers. Trata de las plataformas horizontales y verticales. Además tiene un editable.
Enlace del tutorial: http://gamemaker.simondonkers.com/tutorial/3

Saludos.
5
Preguntas y respuestas / Re:Error con cofres
Agosto 24, 2017, 08:29:26 PM
Tú código funciona con todas las instancias del objeto Cofre. Para interactuar con una sola instancia del objeto Cofre debes conocer el ID de esa instancia.

(puedes buscar por google (o en este foro) la diferencia entre objeto e instancia, explicado de forma breve: las instancias son copias del objeto)

Las funciones instance_create, instance_nearest, instance_position, collision_line, collision_ ... devuelven el valor del ID. Por ejemplo:
[gml]
mi_variable = instance_create(x,y,objeto_cubo);
mi_variable.speed = 2;
//En este caso mi_variable tendrá el ID del objeto_cubo que he creado y a ese objeto_cubo le asigno un speed de 2.
[/gml]

En tu caso puedes usar collision_circle para detectar colisión con el objeto Cofre y así obtener su ID:
[gml]
if (condicion para comprobar si estoy cerca de una instancia del objeto Cofre)
{
    //entonces buscamos el ID de esa instancia
    ID_cofre = collision_circle(x,y,radio,objeto_cofre,false,false);
    if (ID_cofre) // si la variable tiene valor
    {
        // acciones para abrir el cofre y todo lo demás
     }
}
[/gml]
6
Preguntas y respuestas / Re:Error con cofres
Agosto 24, 2017, 07:42:09 PM
El video no está disponible, mejor escribe el problema.
7
En la función draw_surface_ext() el último valor que debes ingresar es el alpha.
Pero si quieres ajustar el alpha usando draw_set_alpha() entonces sería:

Draw Event:
[gml]draw_set_alpha(valor entre 0 y 1);
draw_set_blend_mode(bm_subtract);
draw_surface(light,view_xview,view_yview);
draw_set_blend_mode(bm_normal);

// alpha = 1
draw_set_alpha(1);
[/gml]
8
Preguntas y respuestas / Re:Color fonts y objetos
Agosto 23, 2017, 09:04:13 PM
Puede ser culpa del anti-aliasing.
Entra en las propiedades del font y en el recuadro Style está Anti-aliasing. Pon un 0.

En esta imagen verás que el Anti-aliasing está en 3.

9
Por ejemplo:

[gml]
draw_set_alpha(0.5);
draw_rectangle(x1,y1,x2,y2,false);
draw_set_alpha(0.7);
draw_rectangle(x1,y1,x2,y2,true);
draw_set_alpha(1);
[/gml]

En un evento Draw la primera linea de código se ejecuta primero, en este caso el alpha se pondrá en 0.5
Luego lee la siguiente línea que nos dibuja un rectángulo con relleno (false) y su alpha será igual a 0.5
Después pongo el alpha en 0.7
La siguiente línea dibujará el contorno del rectángulo (true) con un alpha igual a 0.7
Por último pongo el alpha en 1

En tu código finaliza con:
[gml]
draw_set_alpha(1);
[/gml]
10
Preguntas y respuestas / Re:ERROR EN EL SCRIPT
Agosto 22, 2017, 08:13:06 PM
exacto, nonoroman
11
Preguntas y respuestas / Re:ERROR EN EL SCRIPT
Agosto 22, 2017, 08:00:16 PM
Puedes probar por usar la variable depth:

En el create event de cada objeto puedes declarar el depth:
[gml]
depth = -100;
[/gml]

También puedes escribirlo en un evento Step pero creo que un evento create es suficiente.
No te aseguro que funcione pero puedes probarlo.
12
Preguntas y respuestas / Re:ERROR EN EL SCRIPT
Agosto 22, 2017, 07:46:56 PM
Al revés, GM entiende que:
más negativo = capa superior
más positivo = capa inferior
XD
13
Preguntas y respuestas / Re:ERROR EN EL SCRIPT
Agosto 22, 2017, 07:34:18 PM
Te lo explico a mi manera porque no soy un técnico.  :D

Los objetos en la capa más profunda se ejecutan primero y los objetos en la capa superior son los últimos en ejecutar su código.

En tu caso, el objeto control necesita leer el array que se crea en otros objetos. Entonces, primero debe ejecutarse el array y luego leer el array. De lo contrario, si primero lee el array que no ha sido creado entonces dará error.

Asegúrate de poner al objeto wall una profundidad de más positiva que la del objeto control. Puedes usar los números que quieras.
14
Lo he probado y funciona correctamente.

Una cosa importante:
el evento Left pressed funciona si usas sprite
el evento Global Left pressed funciona sin usar sprite debido a que reconoce cualquier clic que se haga en la pantalla del juego.
15
¿el objeto revivir debe reactivar las alarmas del objeto control o tiene sus propias alarmas?