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

316
El último ejemplo que has escrito debería funcionar jpsaenz. Lo importante es no usar comillas.

El código no es muy extenso, creo que así es más fácil de leer
[gml]
var choque;
choque = colision_rectangle (x,y,x+100,y+100,OBJ_PUERTA,false,false);
if (choque)
{
  if (estado == cerrado) {
    scr_puertacerrada();
  }
  else if (estado == abierto) {
    scr_puertaabierta();
  }
}
[/gml]
317
Preguntas y respuestas / Re:Problema depth en juego 3d
Agosto 08, 2018, 04:50:16 AM
Es posible que se solucione con lo que menciona BssString.
Aún así es mejor dibujar los objetos en orden; primero los objetos del fondo y después los objetos cercanos a la cámara.
318
También debes utilizar "flags" o estados para evitar que otros objetos del juego realicen acciones cuando se muestra la pregunta.
319
Preguntas y respuestas / Re:Rotar el juego
Julio 26, 2018, 06:20:32 AM
Puedes definir unos ejes locales que rotan al mismo tiempo que la view, después realizar el movimiento y aplicar la gravedad en relación a esos ejes.

Adjunto un ejemplo simple (no se detectan las colisiones).
Las teclas Z y X rotan la view.
Las flechas mueven al personaje.
G activa o desactiva la gravedad.
Si la graveda está activada, presiona la flecha arriba para saltar en el aire.
320
Preguntas y respuestas / Re:¿Limite de sprites?
Julio 17, 2018, 08:02:17 PM
Un frame de un sprite (o un background) no debe tener un tamaño mayor a 2048 x 2048 px, que es el tamaño máximo de una página de textura.Si todos los frames de un sprite ocupan un área mayor, se reparten en diferentes páginas de textura. GMS solo carga una página a la vez, y cuando necesita dibujar gráficos que están en otra página, borra la página actual y carga la otra. Ese proceso puede afectar el rendimiento del juego si se realiza muchas veces en cada Step. Los gráficos se deben ordenar en las páginas para que se realice el menor número de cambios posibles.
https://docs.yoyogames.com/source/dadiospice/001_advanced%20use/more%20about%20backgrounds/texture%20pages.html
321
Juegos en desarrollo / Re:Cee Ann - Copycat
Julio 15, 2018, 04:04:24 AM
Me pasa lo mismo que a Marth; el personaje está atascado y tiene animación de correr.
323
Preguntas y respuestas / Re:Pregunta sobre las Grids
Julio 08, 2018, 05:48:46 PM
Puedes usar un sistema de colisión como en el ejemplo adjunto, pero cambiando el array 2D por una ds_grid.
Existen muchas técnicas para generar niveles aleatorios, algunas se han mencionado en el foro.
Si se muestra la grid alineada a la view se puede calcular fácilmente que área de la grid está dentro de la view y dibujar solo esa parte. En Don't Starve se utiliza perspectiva, para no hacer cálculos complicados se podría dibujar una zona más grande así evitar partes de la view sin spites.
Las grids pueden almacenar números y cada número representar a un sprite u objeto. El mundo puede estar formado por muchas grids y cada grid puede estar almacenada en un archivo. En el juego se debe cargar un número reducido de grids, cuando se avanza a una zona diferente se borran los segementos más alejados y se cargan otros segmentos. Tal vez sea conveniente mantener 9 grids en la memoria: 1 grid donde se encuentra el personaje y 8 grids que rodean.
324
Preguntas y respuestas / Re:Ayuda
Junio 24, 2018, 07:26:55 PM
El problema es que al rotar la máscara de colisión cambia y a veces la función mp_potential_step trata de buscar una salida desde una posición con colisión.
En el evento Create declara una variable para controlar el ángulo del sprite
[gml]
angulo = direction;
[/gml]
En el evento Step sustituye la variable image_angle por angulo.
Y en el evento Draw dibuja el sprite de esta forma
[gml]
draw_sprite_ext( sprite_index, image_index, x, y, 1, 1, angulo, c_white, 1 );
[/gml]
325
Preguntas y respuestas / Re:ayuda con los enemigos
Junio 19, 2018, 07:55:55 AM
Es cierto, move_towards_point se puede sustituir por
[gml]
mp_linear_step(obj_jugador.x, obj_jugador.y, 1, false);
[/gml]
326
Preguntas y respuestas / Re:http_get download status
Junio 17, 2018, 05:48:24 PM
¿Qué código has utilizado?, ¿qué tipo de archivo quieres descargar?

Primero debes llamar la función http_get_file y guardar el id que devuelve
[gml]
file_id = http_get_file("http://www.etc", "");
[/gml]
Si la segunda string está vacía, el archivo se descarga en la raiz del área sandbox del juego.

Después hay que esperar la respuesta en el evento asíncrono HTTP. A veces puedes responder rápido o puede tardar varios segundos. Además el evento asíncrono puede ejecutarse varias veces porque se reciben paquetes separados.

En el evento asíncrono se debe revisar si los datos corresponden al archivo que se quiere descargar
[gml]
if (async_load[?"id"] == file_id)
[/gml]
y después revisar el status
[gml]
if (async_load[?"id"] == file_id)
{
  if (async_load[?"status"] < 0) {
    // error
  }
  if (async_load[?"status"] == 0) {
    // archivo descargado
  }
}
[/gml]
cuando el status es 0, el archivo se ha descargado en la ruta indicada
327
¿Es todo lo que que dice?
Elimina cualquier caracter que sea una letra o número en el nombre del proyecto.
Si no funciona verifca que tienes los paquetes correctos instalados
https://help.yoyogames.com/hc/en-us/articles/227860547-GMS2-Required-SDKs
328
Preguntas y respuestas / Re:ayuda con los enemigos
Junio 17, 2018, 05:02:33 PM
Puedes usar un else para que los dos movimientos no se interfieran
[gml]
///seguimiento
if (distance_to_point(obj_jugador.x, obj_jugador.y,) < 200)
{
  // Perseguir evitando las paredes. La velocidad aumenta
  image_speed = 0.2;
  mp_potential_step(obj_jugador.x, obj_jugador.y, 2, false);
  //                                              ^
  //                                          velocidad
}
else //si no está cerca
{
  // Acercarse en línea recta. No evita las paredes
  image_speed = 0.1;
  move_towards_point(obj_jugador.x, obj_jugador.y, 1);
  //                                               ^
  //                                           velocidad
}
// rotacion al perseguirme
image_angle = direction;

// vidas
if (vidas<1) instance_destroy();
[/gml]
distance_to_point se ejecuta más rápido que distance_to_object
329
Deben ser globales y se deben inicalizar en la primera room del juego
[gml]
global.monedas = 0;
global.llaves = 0;
[/gml]