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

91
Preguntas y respuestas / Re:Letra Blanca
Julio 17, 2017, 01:46:03 AM
Prueba a guardar el color negro en una variable global.
Evento create:
global.color = c_black;

Evento Draw:
draw_set_colour(global.color);
92
He encontrado un código que puede te sirva. Está sacado del siguiente tema resuelto del foro yoyogames: https://forum.yoyogames.com/index.php?threads/application-surface-fullscreen-windowed-fixed-scale.942/

En resumen, el objeto que controla el tamaño de la room cuando hay pantalla completa debe tener:
Evento create:
dw = display_get_width(); // ancho de pantalla de monitor, movil...
dh = display_get_height(); // alto de pantalla de monitor, movil...
ww = 1280; // ancho de la room
hh = 600; // alto de la room

application_surface_draw_enable(false);
surface_resize(application_surface,ww,hh);


Evento Post Draw:
if window_get_fullscreen() // si el juego corre en pantalla completa
{
    draw_surface(application_surface,floor(dw/2-ww/2),floor(dh/2-hh/2)); // dibujar la room en el centro
} else {
    draw_surface(application_surface,0,0);
}


;)
93
Buenos días,

Estoy intentando imitar un puzzle que aparece en Zelda Oracle of Ages. El puzzle consiste en seguir un camino sobre un campo de baldosas y así todas las baldosas cambian de color. Os paso un video donde se ve el puzzle a partir del minuto 9:32. Link del video: https://youtu.be/qqasJFQ38ic?t=9m32s

De momento no he tenido éxito. Así que os pregunto si tenéis alguna idea para hacerlo.

Nota: Estoy usando GMS 1.4.
94
A mí también me falla la función de timeline_moment_add_script(). En mi caso solo ejecuta una vez el script TM_Mover().

He probado una solución:

1º Creas un Timeline en el árbol de recursos. Lo llamaré tm_movimiento. En las propiedades del timeline añadiré los Steps (de 0 a 100, sumando de 10 en 10). En el Step 0 pondré la acción Execute code donde escribimos el código:
TM_Mover();
Repetimos esto con el resto de Steps.

2º Luego en el objeto que va a usar el timeline tm_movimiento, en el CREATE EVENT colocas:
timeline_index = tm_movimiento;
timeline_speed = 1;
timeline_loop = false;
timeline_running = true;


Y en el Step event puse esto para detener el timeline:
if timeline_position > 100
   {
   timeline_speed = 0;
   timeline_position = 0;
   }
95
Aquí tienes un ejemplo:

Creas una room de 640 x 480.

Creas un objeto, lo llamamos erase_out. En CREATE EVENT ponemos:
// coordenada final
xfin = 320;
yfin = 240;

// variables para reducir la velocidad
numerador_x = abs(x-xfin);
denominador_x = abs(x-xfin);

// valor que reducira la velocidad
reduccion = numerador_x / denominador_x;

// velocidad inicial
veloc = 5;


En Step event ponemos:
// ir hacia la coordenada final
move_towards_point( xfin, yfin, veloc);

// actualizar numerador
numerador_x = abs(x-xfin);

// actualizar reduccion

reduccion = numerador_x / denominador_x;

// actualizar velocidad
veloc = 5 * reduccion;


Luego en la room colocar varios objetos erase_out y prueba.  ;)
96
Comprueba que el background no tiene una linea transparente o semitransparente en los bordes de la imagen. Puede que sea eso.

Otra idea es que puedes rellenar la room con un color idéntico al background. Eliges el color desde las propiedades del room, en la pestaña background.  :)
97
Preguntas y respuestas / Re:Varias colisiones
Julio 03, 2017, 11:50:14 PM
Tan solo pon en el Step event del meta_activo:
if not collision_rectangle(x-1,y-1,x+1,y+1,objeto_personaje,false,true)
{
    instance_change(meta_inactiva,false);
}


Esto sirve para volver a poner el objeto meta_inactiva cuando el personaje deja de tocar la meta_activa. La funcion Collision_rectangle dibuja un area de colision rectangular alrededor del objeto que está usando dicha función, en este caso la meta_activa. Puedes informarte de esta función y otras funciones en la documentación de ayuda de yoyogames.  ;)
98
¿Con bloqueado te refieres a que el juego entra en un bucle de reinicio del nivel? Puede ocurrir si la función room_restart() o game_restart() se encuentra en un evento Step.
99
Preguntas y respuestas / Re:Varias colisiones
Julio 03, 2017, 08:58:25 PM
EDITO:
En el objeto del Personaje:
Collision con meta_activo:
speed = 0;

Collision con meta_inactivo:
speed = 0;

with(other)
{
instance_change(meta_activo, false);
}


Y los objetos meta deben ser sólidos (marcar SOLID). ;)
100
Preguntas y respuestas / Re:Varias colisiones
Julio 03, 2017, 07:57:32 PM
En las propiedades de los objetos meta marca la casilla SOLID.  ;)
101
Preguntas y respuestas / Re:Varias colisiones
Julio 03, 2017, 06:34:33 PM
Entonces, existen 4 objetos "meta" (por llamarlo de alguna manera) y otros 4 "personajes".
He pensado que puedes hacer lo siguiente:
Creas 2 objetos: uno será el objeto meta_inactivo y el otro el objeto meta_activado (puedes ponerle los mismos sprites).

En el objeto del personaje, pon este código en STEP event:
if instance_number(meta_activo) == 4
{
room_goto(nivel); // pon el nombre de la room dentro del parentesis
}

Y en COLLISION EVENT con el objeto meta_inactivo, pon este codigo:
with(other)
{
instance_change(meta_activo, false);
}


Ahora solo coloca 4 objetos meta_inactivo y otros 4 personajes.  :)
102
Preguntas y respuestas / Re:Varias colisiones
Julio 03, 2017, 03:57:54 PM
Suponiendo que
*el personaje 1 toca el objeto desde arriba,
*el personaje 2 toca el objeto desde abajo,
*el personaje 3 toca el objeto desde la derecha,
*el personaje 4 toca el personaje desde la izquierda,
*los sprites de los personajes son de 32x32 y no están centrados (es decir su origen es x=0, y=0)
El código quedaría así

if (place_meeting(x,y-32,obj_personaje1) && place_meeting(x,y+32,obj_personaje2) && place_meeting(x+32,y,obj_personaje3) &&
place_meeting(x-32,y,obj_personaje4))
{
     room_goto(room_Enhorabuena1);
}

Espero que funcione.