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

631
Deberías subir los temas que has creado, rogerskate. Creo que el tema se podría crear en la sección Intercambio.
Aquí hay unos enlaces a temas para GMS
https://www.reddit.com/r/gamemaker/comments/3olr49/game_maker_studio_skins/

Yo utilizo los colores por defecto, solo he cambiado keywords a azul, scripts a amarillo y resource names a magenta. Dejo el archivo adjunto.
632
En ese caso lo mejor sería no desactivar la application surface. Las surfaces creadas manualmente tienen el mismo efecto en el rendmiento que la application surface.
633
Creo que Yoyo no hará algo al respecto. Lo que puedes hacer es cambiar a una versión anterior de GMS. Es extraño que tu versión es más reciente que el de la mayoría, ¿has actualizado por el canal beta?
634
¿Qué código utilizas para dibujar la barra?
Si la barra se dibuja en el evento Draw del objeto enemigo simplemente usa sus variables internas (x,y,vida).
Si la barra se dibuja desde un objeto diferente debes usar la palabra with.
635
El dithering da la sensación de que existe un mayor número de colores al esparcir pixeles que desde lejos parecen combinados. Así se evita la formación de bandas, pero puede dar una apariencia granualada. Probablemente no se nota el granulado si se activa la interpolación entre pixels en GMS.

Aquí aparece la forma de reducir colores en varios programas: http://nds.scenebeta.com/tutorial/indexando-im%C3%A1genes-para-el-pagfx
Para usar dithering, en GIMP selecciona difuminado de color Floyd-Steinberg, en Paint.net está la barra deslizante que controla el nivel de difuminado, en Photoshop no se cómo se llama la opción, pero también tiene.
636
Intenta ordenar la depth de los objetos para que la función draw_set_color se use el menor número de veces en un step.
No recuerdo bien dónde está, pero hay una opción que activa WebGL, tal vez eso ayuda.
637
GMS soporta UTF8, no se qué parte del japonés está codificada ahí. La fuente que utilices debe tener los caracteres.
Prueba escribiendo el texto como string y en la ventana de propiedades de la fuente presiona el botón "Add a font range", en la ventana que se abre presiona el botón "From code".
638
¿En todos los teléfonos se ve así?
En Global Game Settings ve a la pestaña de Android y en Texture Pages presiona el botón Preview. Si se ve igual, seguramente GMS siempre reduce los colores. En ese caso, una solución podría reducir los colores antes de importar la imagen, pero con dithering.
639
Grafismo & Composición / Re:Mi minigalleria
Julio 23, 2017, 09:52:14 PM
Se ven muy bien. Has hecho buenas elecciones de colores.
¿De dónde proviene la idea del cangrejo?, estaba pensando en modelar un cangrejo similar.
640
Podrías agregar una variable a las baldosas en el editor de rooms para indicar su posición en la secuencia: da click derecho y selecciona Creation Code. En una variable global guarda el número de baldosa que debes pisar. El pseudocódigo sería así.

Si el jugador pisa una baldosa, revisar el color {
  Si es azul, no hacer nada
  Si es roja, revisar el número {
    Si el número global es diferente al número de la baldosa, castigar al jugador
    Si el número global es igual al número de losa {
      Cambiar color de la baldosa
      Incrementar número global (+1)
      Si el número global es igual al máximo posible, entonces todas las baldosas han cambiado de color, puzzle resuelto
    }
  }
}
   
641
Es más fácil con una variable global, definida en el evento Game Start o en una room anterior
[gml]
// Algún evento en una room anterior
global.angulo = 200;
[/gml]

Antes de reiniciar la room, guarda el último valor
[gml]
global.angulo = image_angle;
room_restart();
[/gml]

En el evento Create recupera el valor guardado
[gml]
image_angle = global.angulo;
[/gml]
642
En :GM8: se puede bajar el volumen de todos los sonidos con la función sound_global_volume. En :GMS: también se puede utilizar, pero antes debes desmarcar la opción Use New Audio Engine que está en Global Game Settings en la pestaña General. Si utilizas el nuevo sistema de audio (recomendado), debes usar la función audio_master_gain.
643
Preguntas y respuestas / Re:Letra Blanca
Julio 12, 2017, 10:55:29 PM
[gml]
draw_set_color( c_black );
[/gml]
644
General / Re:Unity
Julio 12, 2017, 05:11:39 AM
Sí, versión 5.4 Personal.
645
Si se elige el primer método, primero se definen los puntos from y to. A partir de esos puntos se calcula un sistema de coordenadas local a la cámara.

Z está alineado a la línea de visión. Pasa por el centro del cuadro de proyección (en ese cuadro se proyecta todo lo que vemos en la ventana de juego). Los ejes X,Y están alineados a los ejes X,Y de la ventana para simplificar algunos cálculos.

Los ejes locales son vectores unitarios que tienen componentes en el sistema de coordenadas global.
Así se calcula Z
[gml]
//distancia de la posición de la cámara al punto que mira
d = point_distance_3d( xfrom,yfrom,zfrom, xto,yto,zto );

Zx = (xto - xfrom)/d; //componente x del eje Z local
Zy = (yto - yfrom)/d; //componente y del eje Z local
Zz = (zto - zfrom)/d; //componente z del eje Z local
[/gml]
El ejex X local siempre es horizontal, su dirección es la de Z local menos 90 grados
[gml]
a = point_direction( 0,0, Zx,Zy ); //direccion

Xx = lengthdir_x( 1, a-90 ); //componente x del eje X local
Xy = lengthdir_y( 1, a-90 ); //componente y del eje X local
Xz = 0; //componente z del eje X local
[/gml]
El eje Y local es perpendicular a X local y Z local, por lo tanto se puede calcular con el producto cruz. Normalmente el producto cruz sigue la regla de la mano derecha, sin embargo, el sistema de coordenadas de GameMaker está invertido respecto al sistema que se usa en matemáticas, entonces el producto punto se puede entender con la "regla de la mano izquierda" (Si el vector A apunta en dirección del dedo índice extendido y el vector B apunta en la dirección en que se doblan los dedos, el producto AxB apunta en dirección del pulgar; el vector A debe ser X y el vector B debe ser Z).
[gml]
Yx = Xy*Zz - Xz*Zy; //componente x del eje Y local
Yy = Xz*Zx - Xx*Zz; //componente y del eje Y local
Yz = Xx*Zy - Xy*Zx; //componente z del eje Y local
[/gml]