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

1201
Preguntas y respuestas / Re:Efecto Slowmotion?
Septiembre 20, 2014, 12:54:17 AM
Pues del mensaje anterior:

Cita de: penumbra en Septiembre 19, 2014, 09:38:05 PM
[gml]if keyboard_check(vk_left)
{
     image_speed = master_speed * 0.3
     x += master_speed * 4
}[/gml]

El nombre de la variable es velocidad, pero si te fijas, en realidad actúa como si fuera una especie de control de tiempo. a tiempo 1, todo corre normal, a tiempo 0.5, las cosas "fluyen" a la mitad del tiempo 1, y room_speed se mantiene sin cambios. Si quieres que la animación vaya más lenta, pero el personaje camine a la misma velocidad, sólo cambias x+= 4
1202
Creo que eso no se puede hacer. En esos casos he usado el creation code como dijo TheSandBoxMKG
1203
Preguntas y respuestas / Re:Hacer un Fondo con Animaciones
Septiembre 19, 2014, 11:52:22 PM
Usar objetos para hacer un fondo animado probablemente no es lo más óptimo

Una opción es usar tiles para crear el efecto de fondo animado. GM soporta capas de tiles, es decir, similares por ejemplo a las capas de photoshop, en donde se empalman capas y tú decides qué capa es visible. Aquí dejo link a dos ejemplos
http://gmc.yoyogames.com/index.php?showtopic=439215
http://gmc.yoyogames.com/index.php?showtopic=585083


Aquí hay otra técnica interesante distinta a las anteriores bastante inteligente
http://jamjamtutorials.blogspot.ca/2012/08/animated-backgrounds.html

Creas un fondo animado como una tira PNG (horizontal), usas ese archivo como fondo, le das una velocidad horizontal al fondo (en la pestaña de configuración) igual al ancho de la habitación, y eso crea el efecto de animación. Nada mal esat última técnica
1204
Cita de: kostra en Septiembre 19, 2014, 11:18:38 PM
bueno mintras cierran o no... saben si hay alguna manera de copiar y pegar una instancia que ya enga un code?, es para no tener que poner manualmente el código de cada puerta T_T que palazo, son demasiadas xd (GM80)

Hay dos opciones:

1) Usa scripts, así solo llamas al script en la instancia que quieras. Es una sóla línea en lugar muchas líneas de código
2) Usar un objeto padre que defina el comportamiento general de las puertas (sin conocer de que va tu juego, me inclinaría por esto). Así todas las puertas le harían caso al comportamiento del padre sin tener que pegar código en cada una de ellas

1205
Preguntas y respuestas / Re:Efecto Slowmotion?
Septiembre 19, 2014, 10:55:08 PM
cambiar room_speed para ajustar la velocidad de animación y desplazamiento de los objetos es de lo menos recomendado que puedes hacer. A lo mejor no es tan visible, pero en realidad estás disminuyendo la tasa de refresco con la que se dibuja en pantalla, disminuyendo la precisión para detectar clicks, mover el mouse, calcular colisiones, leer eventos del teclado, etc.
1206
Preguntas y respuestas / Re:Efecto Slowmotion?
Septiembre 19, 2014, 09:38:05 PM
Bueno, tienes que planear bien el movimiento de todos los objetos, porque en realidad vas a tener que controlar dos velocidades, la velocidad de desplazamiento de cada objeto y en el caso de los objetos con sprites animados, su velocidad de animación.

Es decir, que debe haber una variable maestra que controle la velocidad, por ejemplo master_speed = 1. En todos los objetos con movimiento, las dos velocidades se deben especificar relativas a master_speed, por ejemplo, para cuando el jugador corre o camina:

[gml]if keyboard_check(vk_left)
{
     image_speed = master_speed * 0.3
     x += master_speed * 4
}[/gml]

Y reducir master_speed a un valor menor a 1 cuando quisieras reducir la velocidad, y (por precaución, para evitar errores) hacer que master_speed no pueda ser menor o igual a cero.
1207
Preguntas y respuestas / Re:Por que no usar Room_speed 60?
Septiembre 19, 2014, 09:17:01 PM
El ojo si puede detectar diferencias entre tasas de cuadros por segundo arriba de 24 fps. El cine en realidad tiene 48 fps, pero ahí la cosa es algo distinta, por que entre cada cuadro de imagen se inserta un fotograma negro. Eso le da al cine una característica muy propia, por lo que ahora que se habla de cine a 60fps algunos cineastas se han quejado de que "no se siente" como el cine clásico (y dicen que le resta dramatismo a las imágenes)
1208
Preguntas y respuestas / Re:Juego en segundo plano
Septiembre 19, 2014, 06:33:53 AM
hacer eso cuando el juego no se ejecuta es imposible. Lo que puedes hacer es que al cerrar la partida, guardes en un INI la fecha y hora (mediante las funciones de fecha y hora de GM:S), luego, al cargar el juego la próxima vez, se compara la fecha actual con la guardada en el ini, se calcula cuántas horas o días han pasado, y en función de eso, ajustas las estadísticas/parámetros de la mascota.

Dependiendo del juego y su complejidad, tienes que crear fórmulas para indicar el crecimiento de cada parámetro, a mi me gusta meterle comportamientos aleatorios a las fórmulas, para que haya "buena" y "mala" suerte
1209
Cita de: abramelin en Septiembre 17, 2014, 11:16:08 AM
pero siempre se  van al mismo los putos pajaros.
XD Algo estresado por los pájaros. Prueba esto en el objeto pájaro

[STEP][gml]
objetivo = instance_nearest(x,y,obj_espantapajaros)
if instance_exists(objetivo) and (posar)
{
     move_towards_point(obj_espantapajaros.x, obj_espantapajaros.y, 5)
}[/gml]

La variable posar es para que controlar si el ave se posa (o no) sobre el espantapájaros más cercano
1210
Preguntas y respuestas / Re:Colision precisa
Septiembre 17, 2014, 07:12:07 AM
place_meeting() permite usar colisiones precisas (creo que todas las funciones de colisión lo permiten). Pero... para que la colisión precisa funcione, los dos objetos involucrados tienen que tener marcada la opción "precise" en sus sprites. Si una de las dos máscaras no está marcada como precise, la función usará en su lugar las cajas de colisión (bounding box) de ambos objetos.

Si el sprite es animado, marcar precise no es suficiente, también se debe marcar "usar máscaras de colisión individuales" ("use separate collision mask" creo que dice). SI no se activa esta opción, se usa una máscara "global" que tiene la forma de todos las subimagenes juntas y eso puede provocar que la colisión aunque sea precisa no sea exacta.
1211
No entendí muy bien, pero en STEP se puede poner

[gml]if bonus == true
      alarm[6] = 50[/gml]

y cuando de la habitación de bonus regreses a la habitación original, haces
[gml]bonus = 0[/gml]

Eso haría que mientars bonues sea 1, la alarma nunca puede llegar a 0, porque en cada paso se ajusta a 50 y sólo cuando termine la etapa de bonus volvería a correr. También se puede hacer que en el evento alarm[6]
[gml]if (bonus == true)
    exit;
else
{
     //ejecutar cosas cuando no hay bonus
}[/gml]

Esto no se si sea útil en tu juego, pero es una manera de usar ejecutar el código de la alarma dependiendo del valor de una variable


1212
Preguntas y respuestas / Re:¿Que es un tile?
Septiembre 16, 2014, 08:45:46 PM
Es un sprite que se usa como si fuera una pieza de rompecabezas para armar un fondo. Puedes armar un fondo de una habitación completa usando el editor de rooms sin usar un solo objeto que dibuje y coloque los sprites desde el código. Obvio que un tile por si solo no es muy útil, se requiere todo un juego de tiles para poder hacer un fondo


1213
El ajuste halign y el valign se aplica a draw sin importar desde qué objeto se llame la función. Lo que se hace es especificar un valor halign en el objeto puntuación y otro en el objeto botón y así cada uno ajusta halign (o valign o ambos) al valor indicado antes de dibujar texto
1215
pues no es nada difícil. Si quieres que el personaje se mueva hacia la derecha, puedes hacer esto

[gml]if joystick_direction(1) == 102
      x+= 4[/gml]

o esto:
[gml]if ( joystick_xpos(1) > 0.4 )
      x+= 4[/gml]