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

181
En GMS2 solo se pueden poner tiles alineadas a la rejilla. Para poner tiles en otras posiciones tendrías que usar objetos.
182
Es para tener control total del movimiento de las instancias. Muchas veces es más fácil programar la respuesta a las colisiones separando el movimiento en horizontal y vertical.
183
El método depende de cómo están programdos los movimientos y el sistema de colisiones.
He visto una forma sencilla de programarlo; si la posición "y" del bloque es mayor a la posición "y" del player, solid = true, en caso contario solid = false.

Hace unas horas programé un plataformero con plataformas atravesables. Este es el código que utilicé
[gml]
if (vy > 0){//velocidad vertical positiva
   with (obBloqueUnaVia) {
      //si los pies del personaje estaban sobre el bloque
      if (other.yPrev + other.boxD <= y)
      if block_meeting(other.id) {
         other.y = y - other.boxD; //desplazar personaje hacia arriba
         other.piso = true;
         other.saltando = false;
         other.vy = 0;
      }
   }
}
[/gml]
Utilizo variables de colisión que reemplazan a las variables predefinidas de GMS, para tener colisiones más precisas. El problema de GMS es que utiliza cajas de colisiones con valores redondeados.

Muestra el código que utilizas, para ver cómo lo podemos adaptar.
184
Preguntas y respuestas / Re:Huesos(bone)?
Mayo 01, 2019, 03:47:56 AM
Dentro de GMS no se pueden agregar huesos. Debes usar Spine o DragonBones.
185
No encuentro un error en el código. Lo único que se me ocurre es que en los if pongas == en lugar de =.
Si puedes sube el proyecto, así podría ser más fácil encontrar el error.
186
¿En el efecto fade-in utilizas draw_set_alpha?, esa función también afecta a draw_text. Después de dibujar el rectángulo o antes de dibujar el texto de los botones debes poner
[gml]
draw_set_alpha(1);
[/gml]
187
Juegos completos / Re:My Chemical Simulator Lite
Abril 27, 2019, 03:15:03 AM
Con mis pobres conocimientos de química apenas he logrado 6 reacciones. Estaría bien que tuviera una breve descripción de las moléculas para aprender más, tal vez no una descripción técnica, sino que explique en dónde se encuentran en la vida cotidiana. Algunas pistas serían de ayuda para los que no estudiamos química.
188
Preguntas y respuestas / Re:DUDAS CON GET_STRING
Abril 27, 2019, 02:38:24 AM
Limitar el número de dígitos no se puede, tendrías que modificar la cadena después de cerrar el cuadro de get_string.
Que el cursor aparezca automáticamente no se cómo se puede solucionar.

El manual recomienda utilizar get_string_async, pero es más difícil de usar porque se debe utilizar un evento asíncrono, además el juego no se pausa. No se cuál es la razón por la que el manual recomienda esta función.

Para tener las 2 caracterísitcas que necesitas debes programar tu propio cuadro de texto o usar una extensión.
189
Si el sprite viendo a la derecha es igual al sprite viendo a la izquierdo, solo invertido, puedes aprovechar la variable image_xscale.
Cambia el código de esta forma
[gml]
if keyboard_check(vk_right) {
    image_xscale = 1;
}
else if keyboard_check(vk_left) {
    image_xscale = -1;
}

if (vsp == 0) {//en el piso
    if (hsp == 0) sprite_index = spParado;
    else sprite_index = spCaminando
}
else {//en el aire
    sprite_index = spSaltando;
}
[/gml]
(La condición para saber en el piso debe ser diferente, ya que la velocidad vertical podría ser cero al colisionar por arriba)
190
¿Usas un objeto para detectar colisión con los botones? Es más eficiente usar la función point_in_rectangle o position_meeting
Las coordenadas de la GUI son independientes de las coordenadas de la room. Debes usar las funciones device_mouse_x_to_gui y device_mouse_y_to_gui
191
Solo googlea el mensaje de error y encontrarás algunas soluciones.

Lo recomendable es no instalar Android Studio completo, tiene muchas herramientas que no se utilizan con GMS. Debes ir hasta la parte de abajo de la página y descargar en la sección que dice "Conmmand line tools only".
192
Puedes estructurar el código de muchas maneras, pero par aque sea más fácil ayudarte, muestranos el código que utilizas.
193
GMS no tiene funciones para efectos de audio.
Puedes crear varias versiones de la música y usar un grupo de audio sincronizado.
Puedes basarte en este ejemplo del manual.
https://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/sounds/audio_play_in_sync_group.html

Para hacer una transición suave, coloca un valor mayor a cero en el tercer parámetro de la función audio_sound_gain.
[gml]
audio_sound_gain(snd[0], 1, 2);  //subir todo el volumen de la primera pista
audio_sound_gain(snd[1], 0, 2);  //silenciar la segunda pista
[/gml]
194
Preguntas y respuestas / Re:pointer para armas
Abril 17, 2019, 04:16:10 PM
La forma más fácil es usar la función draw_line()
[gml]
angulo = point_direction(x,y, mouse_x,mouse_y);
image_angle = angulo;
draw_line(x,y, x+lengthdir_x(1000,angulo), y+lengthdir_y(1000,angulo));
draw_self();
[/gml]

si quieres que sea una línea punteada, puedes usar un sprite pequeño, pero dibujado a escala
[gml]
angulo = point_direction(x,y, mouse_x,mouse_y);
image_angle = angulo;
draw_sprite_ext(spStrips,0, x,y, 20, 1, angulo, c_red, 1);
draw_self();
[/gml]

Ejemplo en GMLive
195
Creo que la mejor forma es no colisionar con un objeto. En el evento Outside View puedes poner algo como esto
[gml]
view_xview[0] = (x div 256) * 256;
view_yview[0] = (y div 144) * 144;
[/gml]
o como esto
[gml]
view_xview[0] = floor(x / 256) * 256;
view_yview[0] = floor(y / 144) * 144;
[/gml]
(256 y 144 son las dimensiones de la view)
No es necesario que el personaje salga por completo de la view para moverla. Por ejemplo, podrías detectar si la mitad del personaje ha salido de la view en el evento Step.

Adjunto un ejemplo