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

436
Cita de: Silver_light en Abril 25, 2017, 01:41:52 AM
Un método sencillo que puedes utilizar es descontar una variable a través de una alarma.

Es decir, declaras en el evento create una variable, pongamosle que la quieras llamar "tiempo".
[GML]
tiempo = 100 [/GML]
Entonces tienes 100 segundos para hacer algo, o esperar a que se acaben.
Luego, para que se vaya descontanto deberían iniciar una alarma, que haga el trabajo de ir descontandola. Para ello es necesario que hagas una llamada a cualquier alarma, en este caso usariamos alarm[0] pero puede ser cualquiera que te acomode mejor.
[GML]
tiempo = 100
alarm[0] = 1 [/GML]
Ya con eso pondrías a andar el evento "alarm[0]=1" el cual debiera ejecutar un código para ir restando la variable tiempo.
Entonces creas el evento alarm[0] dentro del mismo objeto y colocas:
[GML]
tiempo = tiempo -1 [/GML]
Con eso te aseguras de que en algun momento se haga 0.

Ahora, para que se repita la alarma, es decir, para que se vuelva a descontar el temporizador , es necesario hacer otra llamada a la alarma. Creamos entonces un bucle dentro de la alarma para que se repita una y otra vez, haciendo la llamada con alarm[0] = room_speed, lo que haría que cada segundo se vuelva a ejecutar. Por consecuente se restará 1 al temporizador y volverá a llamar a la alarma.
[GML]
tiempo  = tiempo -1
alarm[0] = room_speed [/GML]

Finalmente solo debes colocar la condición necesaria para que cuando llegue a cero ocurra algo.
[GML]
if (tiempo > 0){
       tiempo  = tiempo -1
       alarm[0] = room_speed
}else // tiempo es 0
game_end() [/GML]

En este caso, cuando la alarma llegue a cero, se termina el juego, pero puedes siempre cambiarlo por otra cosa.

saludos!
Gracias, la estructura quedo así, no se si sera la forma correcta, pero funciona, lo malo es que uno no sabe cuanto tiempo falta para que llegue a 0, creía que saldría una especie de contador  ???, pero creo que eso debe formar parte de algún draw_GUI, algo así como cuando le dicen al jugador queda x minutos x segundos para tal cosa, al parecer tendré que agregar algún elemento para que eso funcione ¿que modificación debería ponerle a este código?.
CREATE:
///Tiempo inicial
tiempo = 5*30;
alarm[0] = 1;

ALARMA 0
///Contador de segundos
tiempo = tiempo -1;
alarm[0] = room_speed;

STEP:
///Tiempo actual
if (tiempo > 0) {
    tiempo = tiempo -1
    alarm[0] = room_speed
}else // tiempo es 0
game_end()
437
Tengo la siguiente estructura gracias a Silver_light, no se si sera la forma correcta, pero funciona, lo malo es que uno no sabe cuanto tiempo falta para que llegue a 0, creía que saldría una especie de contador  ???, pero creo que eso debe formar parte de algún draw_GUI, algo así como cuando le dicen al jugador queda x minutos x segundos para tal cosa, al parecer tendré que agregar algún elemento para que eso funcione ¿que modificación debería ponerle a este código para que pueda ver cuantos minutos y segundos me quedan?.
CREATE:
///Tiempo inicial
tiempo = 5*30;
alarm[0] = 1;

ALARMA 0
///Contador de segundos
tiempo = tiempo -1;
alarm[0] = room_speed;

STEP:
///Tiempo actual
if (tiempo > 0) {
    tiempo = tiempo -1
    alarm[0] = room_speed
}else // tiempo es 0
game_end()
438
Cita de: DeeY en Abril 24, 2017, 06:36:33 AM
Si usas Game Maker 8 y/o 8.1

sound_background_tempo(valor)
Este solo funciona con musica MIDI

En caso contrario si usas Studio
audio_sound_pitch(sonido,valor)

Ten en cuenta que 1 es el valor predeterminado
según el manual esto cambia el tono, en ninguna parte dice que acelera o retrasa la velocidad de la música o el sonido ¿segura/o que es la función correcta?
439
Preguntas y respuestas / ¿Como acelerar la música?
Abril 24, 2017, 01:08:27 AM
Bueno lo que busco es acelerar la música del juego cuando el tiempo llegue a X valor, algo así como en el juego del clasico mario bros.

Lo que se me ocurre es crear una variable llamada tiempo, la cual durara 4 minutos (240s), y crear otra variable que me indique que si tiempo es -= 60*30 (pues los 30 serian por los step), activara alguna alarma que hace que la música se acelere ¿pero como debería armar el código para eso? saludos.
440
Preguntas y respuestas / Re:Curso de GMS
Abril 24, 2017, 12:09:13 AM
Cita de: somnus en Mayo 31, 2016, 05:39:17 AM
me late la idea de hacer el juego paso a paso mientras voy explicando, creo que asi lo hare, aun espero de cuanto tiempo quieren que lo haga para checar que tanto puedo ver con las personas, supongo que sera para gente que no sabe mucho de programacion
Tal vez quieras hacerlo al estilo de Monty Drake o escuela de video juegos, haces algunas lineas de código y explicas lo que harán, después muestras el resultado para que el novato se anime a jugar con las variables, así creara sus propios códigos y aprenderá a tener un poco de iniciativa, yo solo llevo meses en esto y estoy muy cerca de crear un juego, gracias a que sus tutoriales tienen un metido muy agradable, sobre todo cuando lo van creando por partes, espero te sirva  :).