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

436
Utiliza las funciones draw_set_*align para centrar el texto.
437
Preguntas y respuestas / Re:Tamaño de sprite
Febrero 09, 2018, 06:13:57 AM
¿En qué evento se ejecuta la función, y qué código está antes?
Si es para el sistema de pausa, otra opción es guardar la application_surface en un buffer o en un archivo.
438
Deberías poner un video o gif donde se muestre el movimiento que queres recrear. No estoy seguro si el movimiento lo vi en Gunsmoke; cada vez que el personaje queda aplastado por un obstáculo se teletransporta a la orilla más cercana.

El código de 3dgeminis podría funcionar, pero el if se debe cambiar por un while.

Lo mejor sería usar un código que no revise las colisiones pixel por pixel. Se podría modificar este script
https://yal.cc/gamemaker-collision-line-point/
para que funcione a la inversa. En lugar de encontrar el punto de colisión más cercano, encontrar el punto libre más cercano.

Si el nivel estuviera construido en un array 2d se podría revisar cada celda a los lados hasta encontrar un celda vacía.
439
General / Re:Hola :)
Febrero 06, 2018, 03:57:21 AM
Hola, bienvenido.

Pregunta con confianza, solo intenta agregar la mayor cantidad e información posible.
También toma un tiempo para leer el reglamento de cada sección del foro.
440
(Ese es un mensaje extraño)

La forma de programar el combo va a depender un poco de lo que ya tienes prgramado.
Sería bueno que mencionaras que tipo de juego estás haciendo, voy a suponer que se trata de un plataformero.

Es recomendable separar el código del personaje en dos partes: cuando está en el piso y cuando está en el aire.
Usaré dos varaibles: run y press1
Cuando run == true el límite de velocidad horizontal aumenta.
press1 guarda el valor de la tecla que se ha presionado: 0 no se ha presionado, 1 izquierda, 2 derecha.

Si el personaje está en el piso
  Si se detecta la presión de derecha (keyboard_check_pressed)
    Si press1 == 0 o press1 == 1
      Entonces, press1 = 2 y se activa una alarma
      (En la alarma press1 = 0)
    Si press1 == 2
      Entonces, run = true

El mismo proceso se hace para la tecla izquierda.
441
Preguntas y respuestas / Re:Problemas rendimiento .exe
Febrero 06, 2018, 03:34:26 AM
Activa la barra de debug para empezar a analizar
show_debug_overlay(true);
442
Otra forma es la siguiente. Suponemos que en el juego existe un sonido llamado intro y otro sonido llamdo bucle. En el evento Create o Room Start de un objeto inicia la música
[gml]
// tocar intro una vez
audio_play_sound(intro, 1, false);
estadoMusica = 0;
[/gml]
En el evento Step revisa si terminó el primer segmento e inicia el segundo
[gml]
// si intro llegó al final
if (estadoMusica == 0)
if not audio_is_playing(intro)
{
   // tocar de forma repetida
   audio_play_sound(bucle, 1, true);
   estadoMusica = 1;
}
[/gml]

Otro método es utilizar audio buffers y el evento Audio Playback, pero es mucho más complicado.
443
¿Qué fuente es? Revisa que tenga todos los caracteres necesarios y sea compatible con UTF-8.
444
Juegos en desarrollo / Re:HixelArt
Febrero 04, 2018, 04:38:58 PM
La interfaz se ve muy bien, pero falta algo muy importante: un botón para cerrar la aplicación.
Otro detalle es evitar que las herramientas funcionen fuera del cuadro para dibujar.
445
Preguntas y respuestas / Re:Balas+Fisicas
Febrero 03, 2018, 08:56:56 PM
Prueb con
[gml]
phy_linear_damping = 0;
[/gml]

Y en lugar de aplicar una fuerza asigna la velocidad en el evento Create
[gml]
// 20 px por step
phy_speed_x = lengthdir_x(20, angulo);
phy_speed_y = lengthdir_y(20, angulo);
[/gml]
446
Preguntas y respuestas / Re:Balas+Fisicas
Febrero 01, 2018, 05:28:52 PM
En el objeto bala debes colocar phy_bullet = true;, así se moverá más rápido.
447
No me parece poco trabajo. Es difícil agregar el nuevo código sin romper lo que ya está programado.

1) y 2) No se mucho de estos temas.
3) Se debe crear un archivo donde se escriban los estados de los niveles (bloqueado o desbloqueado). Existen muchos formatos.
4) Depende del estilo de los gráficos.
5) La resolución es algo que se debió decidir desde el diseño del juego. ¿Qué tan grandes son los gráficos y qué porcentaje de la pantalla deben ocupar?
6) Hay muchas proporciones de pantallas para móviles. Lo más fácil es dejar que el juego mantenga la relación aspecto, pero en algunas pantallas aparecerán franjas negras a los lados o arriba y abajo.
7) En el marketplace hay varios ejemplos.
8) Se puede conectar y configurar el teléfono para probar el juego cada vez que se compila. Por el momento no recuerdo cómo se hace. En el foro creo que hay un tema relacionado.
9) Habría problemas solo si el juego se hace muy famoso.
448
Utiliza dos ciclos for anidados
[gml]
for (i=0; i<width; i++){
  for (j=0; j<height; j++){
    ini_write_real("Player", string(i)+"_"+string(j), array[i,j]);
  }
}
[/gml]
449
Va si puedes compilar para varias plataformas.
450
Es más fácil si se utilizan variables personalizadas en lugar de las predefinidas de GM.
Normalmente utilizo estas variables: g, vx, vy, v, direction

vx y vy se calculan a partir de v y direction usando lengthdir_*
Incrementa g en cada step y después súmala a vy
Por último suma la velocidad a la posición
[gml]
x += vx;
y += vy;
[/gml]

Todo el proceso anterior se puede encerrar en un if (pause == false)