Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Clamud

Páginas: 1 2 3 4 5 ... 107
31
Preguntas y respuestas / Re:Texto 3D con perspectiva
« en: Junio 06, 2019, 05:01:21 am »
Una solución sería dibujar el texto en una Surface y luego usar la Surface como textura de un rectángulo.

32
La ventana podría ser una Surface. Los objetos que contiene deben ser invisibles para que no se dibujen automáticamente en el evento Draw.
Primero debes dibujar los objetos en la Surface y en el evento Draw dibujar la Surface en la ventana del juego.

33
Preguntas y respuestas / Re:no fonciona gm 2
« en: Junio 03, 2019, 12:58:07 am »
Tal vez te falta instalar DirectX11 y/o .NET Framework

34
Preguntas y respuestas / Re:objetos, String y aleatoriedad
« en: Junio 03, 2019, 12:48:06 am »
Puedes usar un switch para crear el objeto correspondiente
switch (texto)
case "cine": objeto = obj_cine; break;
case "otro": objeto = obj_otro; break;
Pero no le veo mucho sentido, lo mejor sería usar el nombre del objeto directamente.

Usar muchos objetos casi no incrementa el peso del juego. Los que más incrementa el peso son los gráficos y los sonidos.
Si todos los objetos hacen cosas parecidas, tal vez sea mejor combinarlos en un solo objeto, que cambie su comportamiento con una variable.
¿Para qué vas a usar tantos objetos?

Podrías crear una lista con los ids de todos los objetos con un script parecido a este
https://www.gmlscripts.com/script/map_objects
Después usar ds_list_shuffle para poner los ids en orden aleatorio.

35
Tal vez es necesario cambiar el orden de dibujo.
El primer paso sería activar la barra de depuración para ver qué eventos usan más tiempo de procesamiento
show_debug_overlay(true);
Si todo se ejecuta en menos de 16 milisegungos, pero no se alcanzan 60 fps, entonces puede ser necesario incrementar el valor de "Sleep margin" en Global Game Settings/Windows/General/ 10 ms es un buen valor.

36
Preguntas y respuestas / Re:Que medidas a pixel deberia usar?
« en: Mayo 27, 2019, 06:01:17 am »
Normalmente dibujo personajes con anchura de 16 px, y uso rooms con anchura de 256, 320 o 512, así el personaje puede caber 16, 20 o 32 veces a lo ancho.
Con tu estilo de dibujo creo que el personaje podría tener una anchura de 80 a 100 px.

37
¿Por qué razón quieres hacer eso?

Puedes poner el juego a una tasa de fps muy alta, pero en realidad la frecuencia  de dibujo será igual a la frecuencia de actualización de la pantalla.
Si quieres que se dibuje a 60 fps, pero el procesamiento en el evento Step sea 30 veces por segundo, asigna la variable room_speed y usa una variable para saltar el evento Step
// Create
room_speed = 60;
procesar_step = false;
En el evento Step invierte el valor de procesar_step. Si el valor es false, salta el evento. Debes usar "Drag and Drop" como en la imagen adjunta.

38
Preguntas y respuestas / Re:Que medidas a pixel deberia usar?
« en: Mayo 26, 2019, 06:21:26 am »
La verdad es un tema complicado, además existen muchas de cambiar la resolución.
Este tutorial de Godot tiene imágenes de ejemplo
http://docs.godotengine.org/en/3.1/tutorials/viewports/multiple_resolutions.html#doc-multiple-resolutions
Mucho de los que se muestra en ese tutorial se puede aplicar a GameMaker, pero el código será completamente diferente.

39
Con div se obtiene el residuo de la división. Sirve para crear ciclos; En este caso, la operación devuelve los valores 0, 1, 2, 3,conforma la variable i aumenta. Cuando i vale 4, la operación devuelve 0 y el ciclo se repite. En el código se usa para crear filas de 4 elementos. Los valores se multiplican por 32 para tener la separación adecuada entre cuadros.

div es la operación división entera (realiza la división y elimina la parte fraccional). En este caso la operación devuelve 0 hasta que i vale 4, entonces la operación devuelve 1. El resultado aumenta cada vez que la variable i es un múltiplo de 4. En el código se usa para permanecer en la misma fila hasta que i es un múltiplo de 4 y ocurre un cambio de fila.

40
Muestra el código que usas. Si quieres, también menciona el tutorial en el que te estás basando.

41
Preguntas y respuestas / Re:Mover objeto con lerp
« en: Mayo 26, 2019, 05:29:43 am »
En Create debes definir la posición final. Por ejemplo
x = 100; //posicion inicial
y = 100;
xto = 500; //posicion final
yto = 200;
En Step debes usar lerp
x = lerp(x, xto, 0.1);
y = lerp(y, yto, 0.1);

42
Preguntas y respuestas / Re:Que medidas a pixel deberia usar?
« en: Mayo 26, 2019, 05:11:42 am »
¿La imagen se ve borrosa solo cuando se ejecuta el juego o se ve borrosa desde la ventana de propiedades del Sprite?

Puedes hacer que la imagen conserve su relación de aspecto (aspect ratio), pero si la pantalla no tiene la misma relación aparecen bandas negras a los lados, o arriba y abajo. Puedes hacer que la imagen se estire para ocupar toda el área de la pantalla, pero si la pantalla no tiene la misma relación de aspecto de la imagen original, se deforma.
Lo mejor, pero más complicado, es programar el ajuste a la pantalla usando views o surfaces.

43
Puedes crear las instancias e ir borrando elementos de la lista uno a uno, o puedes crear todas las instancias y después borrar o limpiar la lista. El segundo método es más rápido.
Esta es una forma
size = ds_list_size(saco); //tamaño de la lista
for(i=0; i<size; i++){ //crear instancias
    x = (i mod 4) * 32;
    y = (i div 4) * 32;
    instance_create(x, y, saco[|i]);
}
ds_list_clear(saco); //limpiar lista

Ejemplo en GMLive

44
Puedes usar una ds_list de esta forma
saco = ds_list_create(); //crear lista
repeat(5) ds_list_add(saco, obj1); //agregar obj1
repeat(5) ds_list_add(saco, obj2); //agregar obj2
ds_list_shuffle(saco); //desordenar

45
Preguntas y respuestas / Re:Alguien que pueda ayudar a compilar??
« en: Mayo 23, 2019, 05:46:58 am »
Tal vez tienes un problema con el antivirus.
¿Exportar a qué plataforma?

Páginas: 1 2 3 4 5 ... 107