¿Pusiste el room_goto en el evento Alarm 1 del personaje? Porque tendría que funcionar al menos que no exista ese escenario.
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.
136
Preguntas y respuestas / Re:Problema con muerte del player y de zombi
Enero 10, 2015, 01:00:44 AM137
Juegos completos / Flag Capture Platform
Enero 10, 2015, 12:34:37 AM
Flag Capture Platform
![]() Plataformas | ![]() GM: Studio |

Flag Capture Platform es un juego de plataformas para dos jugadores en la misma computadora en el que deben competir por cinco rondas de ganar. Deben convertir las dos banderas y conservarlas durante cinco segundos para ganar una ronda.
Controles Jugador 1 (verde):
Mover: A y D.
Saltar: V.
Convertir bandera: B.
Controles Jugador 2 (rojo):
Mover: flechas izquierda y derecha.
Saltar: O.
Convertir bandera: P.

![]() Adjunto: http://www.comunidadgm.org/juegos-completos/flag-capture-platform/?action=dlattach;attach=14036 |
138
Preguntas y respuestas / Re:Problema con muerte del player y de zombi
Enero 09, 2015, 11:57:06 PM
En el evento Step del personaje tendrías que poner un condicional entre todas las acciones de movimientos quedando algo así:
[gml]
if (health > 0) {
//Poner acá todas las acciones de movimiento y demás que no queres que se ejecuten cuando el personaje muera.
}
[/gml]
Y en cuanto a que no te envía al room de highscore tendrías que comprobar que la alarma se ejecuta, el código modificado quedaría así:
[gml]
health-=1;
if(health<=0)
{
sprite_index=spr_playerdead;
if (alarm[1] < 0 ) {
alarm[1] = room_speed * 2; //Esto sería dos segundos, cambialo por lo que te parezca.
}
}
[/gml]
Con ese IF estás comprobando que la alarma se haya terminado de ejecutar en una instancia anterior, es decir que esté seteada a cero. Si la alarma está en cero se ejecuta.
[gml]
if (health > 0) {
//Poner acá todas las acciones de movimiento y demás que no queres que se ejecuten cuando el personaje muera.
}
[/gml]
Y en cuanto a que no te envía al room de highscore tendrías que comprobar que la alarma se ejecuta, el código modificado quedaría así:
[gml]
health-=1;
if(health<=0)
{
sprite_index=spr_playerdead;
if (alarm[1] < 0 ) {
alarm[1] = room_speed * 2; //Esto sería dos segundos, cambialo por lo que te parezca.
}
}
[/gml]
Con ese IF estás comprobando que la alarma se haya terminado de ejecutar en una instancia anterior, es decir que esté seteada a cero. Si la alarma está en cero se ejecuta.
139
Preguntas y respuestas / Re:Problema con muerte del player y de zombi
Enero 09, 2015, 05:27:54 PM
En el primer caso usá una alarma para cambiar de room, te quedaría algo así:
[gml]health-=1;
if(health<=0)
{
sprite_index=spr_playerdead;
alarm[1] = room_speed * 2; //Esto sería dos segundos, cambialo por lo que te parezca.
}[/gml]
ALARM 1:
[gml]room_goto(rm_highscore);[/gml]
En el segundo caso ponele image_speed = 0; y ya no tendrías el problema de cambio de sub imágenes.
[gml]health-=1;
if(health<=0)
{
sprite_index=spr_playerdead;
alarm[1] = room_speed * 2; //Esto sería dos segundos, cambialo por lo que te parezca.
}[/gml]
ALARM 1:
[gml]room_goto(rm_highscore);[/gml]
En el segundo caso ponele image_speed = 0; y ya no tendrías el problema de cambio de sub imágenes.
140
Preguntas y respuestas / Re:Hacer que funcionen 2 botones a la vez en Android
Enero 08, 2015, 12:28:13 AM
Con virtual keys es como si presionaras cualquier tecla, nada más que definís por ejemplo vk_left para la flecha hacia la izquierda. Acá te dejo el manual oficial de :GMS: donde sale como se asignan.
http://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/virtual%20keys/virtual_key_add.html
Para utilizarla en código directamente podrías poner "if (keyboard_check_pressed(vk_left)) {...}" y sería lo mismo.
http://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/virtual%20keys/virtual_key_add.html
Para utilizarla en código directamente podrías poner "if (keyboard_check_pressed(vk_left)) {...}" y sería lo mismo.
141
Preguntas y respuestas / Re:COMO CREAR EFECTO TEMBLOR
Enero 07, 2015, 10:38:45 PM
Si descargas el archivo que dejé y te vas a "File > Import" vas a poder abrirlo sin ningún problema. La extensión *.gmz es la única extensión para exportar proyectos de :GMS:, es por eso que tenes que importarlo.
142
Preguntas y respuestas / Re:Hacer bomba
Enero 06, 2015, 11:47:01 PM
Cuando la bomba explote tendrías que crear unos objetos con dirección y velocidad aleatoria:
[gml]
if (objBomba.destroy = true) { //Si la bombra explotó...
for (i=0;i<10;i++) { //Hacemos un for para que se creen 10 objetos metralla.
idMetralla = instance_create(x,y,objMetralla); //Creamos un objeto objMetralla y le asignamos la ID idMetralla.
idMetralla.direction = irandom(360); //Con esa ID le colocamos una dirección aleatoria de 0 a 360.
idMetralla.speed = irandom_range(2,5); //Le asignamos una velocidad que iría de 2 a 5.
}
objBomba.destroy = false; //Seteamos la variable "destroy" a false para que no se vuelva a repetir el bucle for.
}
[/gml]
Eso sería lo básico, después tendrías que ponerle cuando la metralla se destruye si es por tiempo o si es al colisionar con algo. Algo que le podrías agregar a la metralla sería que su ángulo vaya cambiando en el evento Step con algo como "image_angle +=5;".
[gml]
if (objBomba.destroy = true) { //Si la bombra explotó...
for (i=0;i<10;i++) { //Hacemos un for para que se creen 10 objetos metralla.
idMetralla = instance_create(x,y,objMetralla); //Creamos un objeto objMetralla y le asignamos la ID idMetralla.
idMetralla.direction = irandom(360); //Con esa ID le colocamos una dirección aleatoria de 0 a 360.
idMetralla.speed = irandom_range(2,5); //Le asignamos una velocidad que iría de 2 a 5.
}
objBomba.destroy = false; //Seteamos la variable "destroy" a false para que no se vuelva a repetir el bucle for.
}
[/gml]
Eso sería lo básico, después tendrías que ponerle cuando la metralla se destruye si es por tiempo o si es al colisionar con algo. Algo que le podrías agregar a la metralla sería que su ángulo vaya cambiando en el evento Step con algo como "image_angle +=5;".
143
Preguntas y respuestas / Re:ayuda con chat o evento
Enero 04, 2015, 11:33:01 PM
Si ya sabes hacer un chat simplemente usas el mismo método y enviás un mensaje con diferente ID en el buffer para que con esa ID sea recibido en el cliente y simplemente haces un draw_text(x,y,messageAdmin); o como hayas guardado al mensaje recibido.
144
Preguntas y respuestas / Re:COMO CREAR EFECTO TEMBLOR
Enero 04, 2015, 05:35:27 PM
El código funciona a la perfección, no se donde o como lo estás aplicando pero de seguro es que comprobás cierta acción, te dejo un ejemplo que hice donde se ejecuta en una alarma:
https://www.dropbox.com/s/zegij014a1hubiq/temblar.gmz?dl=0
Si lo ejecutaras directamente en el evento Step habría que comprobar ciertas condiciones, por ejemplo, si se presiona la barra espaciadora que una variable se ponga en TRUE, si esa variable es TRUE se ejecuta el código quedando algo así:
Create:
[gml]move = 20;
canMove = false;[/gml]
Step:
[gml]
if (keyboard_check_pressed(vk_space)) {
if (!canMove) canMove = true; //Si canMove es FALSE lo volvemos TRUE.
}
if (canMove) { //Si canMove es TRUE (por haber presionado la barra espaciadora o cualquier otra acción)...
if (move > 0) { //Si move es mayor que 0...
image_angle = -move+(2*random(move)); //Alteramos el ángulo de la imagen con -move más un número aleatorio de move por 2.
move -= .5; //Por cada paso restamos 0.5 de move.
} else { //Si move es menor o igual a cero...
canMove = false; //Ponemos canMove en false.
move = 20; //Y volvemos a poner a move en 20 para que se pueda volver a hacer la acción de temblor.
}
}
[/gml]
https://www.dropbox.com/s/zegij014a1hubiq/temblar.gmz?dl=0
Si lo ejecutaras directamente en el evento Step habría que comprobar ciertas condiciones, por ejemplo, si se presiona la barra espaciadora que una variable se ponga en TRUE, si esa variable es TRUE se ejecuta el código quedando algo así:
Create:
[gml]move = 20;
canMove = false;[/gml]
Step:
[gml]
if (keyboard_check_pressed(vk_space)) {
if (!canMove) canMove = true; //Si canMove es FALSE lo volvemos TRUE.
}
if (canMove) { //Si canMove es TRUE (por haber presionado la barra espaciadora o cualquier otra acción)...
if (move > 0) { //Si move es mayor que 0...
image_angle = -move+(2*random(move)); //Alteramos el ángulo de la imagen con -move más un número aleatorio de move por 2.
move -= .5; //Por cada paso restamos 0.5 de move.
} else { //Si move es menor o igual a cero...
canMove = false; //Ponemos canMove en false.
move = 20; //Y volvemos a poner a move en 20 para que se pueda volver a hacer la acción de temblor.
}
}
[/gml]
145
Preguntas y respuestas / Re:surfaces
Enero 02, 2015, 12:10:50 AM
Podrías fijarte usando el buscador del foro o en la sección de descargas, si no también ver algún video por YouTube, hay varios interesantes que están en ingles pero se entienden. Acá te dejo uno en español que encontré al poner "surface game maker" en Google.
https://www.youtube.com/watch?v=_b39Jzi30WU
PD: Si leen el tema y no contesta será porque no saben sobre el tema, a demás recién hoy pusiste el tema, mínimo tendrías que dejar pasar un día entero para criticar que lo leen y no contestan.
https://www.youtube.com/watch?v=_b39Jzi30WU
PD: Si leen el tema y no contesta será porque no saben sobre el tema, a demás recién hoy pusiste el tema, mínimo tendrías que dejar pasar un día entero para criticar que lo leen y no contestan.
146
Preguntas y respuestas / Re:Efecto caminar
Diciembre 31, 2014, 07:19:54 PM
Probá con image_speed, va de 0 a 1.
147
Preguntas y respuestas / Re:COMO CREAR EFECTO TEMBLOR
Diciembre 30, 2014, 10:56:26 PM
Yo hace poco para un juego hice algo similar, pero era para un temblor en toda la pantalla, éste es el código:
Create:
[gml]move = 20;[/gml]
Step:
[gml]
if (move > 0) {
view_angle[0] = -move+(2*random(move));
move -= .5;
}[/gml]
Para aplicarlo a un objeto simplemente tendrías que cambiar el view_angle por image_angle quedando así:
Step:
[gml]
if (move > 0) {
image_angle = -move+(2*random(move));
move -= .5;
}[/gml]
Create:
[gml]move = 20;[/gml]
Step:
[gml]
if (move > 0) {
view_angle[0] = -move+(2*random(move));
move -= .5;
}[/gml]
Para aplicarlo a un objeto simplemente tendrías que cambiar el view_angle por image_angle quedando así:
Step:
[gml]
if (move > 0) {
image_angle = -move+(2*random(move));
move -= .5;
}[/gml]
148
Preguntas y respuestas / Re:check point
Diciembre 28, 2014, 04:06:11 PM
Éste tema ya se ha discutido varias veces, en la sección de descargas tenes muchos ejemplos y si usás el Buscador del foro vas a encontrar varios temas:
http://www.comunidadgm.org/preguntas-y-respuestas/como-hacer-un-checkpoint/msg85697/#msg85697
http://www.comunidadgm.org/preguntas-y-respuestas/como-hacer-un-checkpoint/msg85697/#msg85697
149
Preguntas y respuestas / Re:niveles mismo room
Diciembre 27, 2014, 09:21:38 PM
Primero que nada no uses IF, usa Switch, es mas óptimo que el IF a la hora de comprar si un valor es igual.
[gml]
switch (global.level) {
case 1:
//Tu código de crear nivel.
break;
case 2:
//Tu código de crear nivel.
break;
case 3:
//Tu código de crear nivel.
break;
case 4:
//Tu código de crear nivel.
break;
case 5:
//Tu código de crear nivel.
break;
//Y así con todos los niveles que vos queres.
}
[/gml]
Eso lo tendrías que poner en un evento Create.
Otra cosa, si no pones el error que te da :GMS: mucho no vamos a poder hacer. Seguramente es porque la variable "level" no la tenes definida en tu Create dentro de la room de los niveles.
Creá un objeto que se llame "objControl", ponele la propiedad persistente para que esté en todas las room y dentro en el evento Create poné esto:
[gml]global.level = 0;[/gml]
Con eso te asegurás que no hay ningún nivel seleccionado.
[gml]
switch (global.level) {
case 1:
//Tu código de crear nivel.
break;
case 2:
//Tu código de crear nivel.
break;
case 3:
//Tu código de crear nivel.
break;
case 4:
//Tu código de crear nivel.
break;
case 5:
//Tu código de crear nivel.
break;
//Y así con todos los niveles que vos queres.
}
[/gml]
Eso lo tendrías que poner en un evento Create.
Otra cosa, si no pones el error que te da :GMS: mucho no vamos a poder hacer. Seguramente es porque la variable "level" no la tenes definida en tu Create dentro de la room de los niveles.
Creá un objeto que se llame "objControl", ponele la propiedad persistente para que esté en todas las room y dentro en el evento Create poné esto:
[gml]global.level = 0;[/gml]
Con eso te asegurás que no hay ningún nivel seleccionado.
150
Preguntas y respuestas / Re:Juego en xp
Diciembre 27, 2014, 02:52:56 AM
Quizás te esté faltando alguna librería y por eso está fallando, tendrías que tratar de compilar el juego en wXP a ver si te falla o que.