Utiliza la función keyboard_check_pressed si quieres que el código se ejecute únicamente al presionar la tecla o keyboard_check_released para que lo haga al soltarla, keyboard_check se ejecuta en todo momento en el que la tecla se encuentre presionada. Saludos
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.
2
Preguntas y respuestas / Re:¿Como hacer doble salto con este tipo de script?
Junio 16, 2017, 11:24:25 PM
Que raro, lo probé y funcionaba, cuál es el problema que tienes cuándo intentas saltar?
3
Preguntas y respuestas / Re:Como activar y desactivar teclas virtuales
Junio 15, 2017, 06:39:58 PM
No probé el código, pero diría que el problema es que estás creando las teclas de forma incorrecta, te recomendaría que ésto lo hagas en el evento step en vez del evento de dibujo. El problema sin embargo no es el evento, pareciera ser que tu código se ejecuta infinitas veces, es decir, siempre que "activar_c" sea verdadero se crearan las teclas, pero ésto debería ocurrir una sola vez. Ésto debería ser suficiente para solucionarlo:
Ésto funcionará siempre y cuando setear las variable "activar_c" a falso no elimine nuevamente las teclas obviamente, pero la idea es básicamente esa, que las teclas no se vuelvan a crear si ya existen. Saludos
Veo que lo solucionaste mientras escribía el mensaje, mejor así.
Código [Seleccionar]
if activar_c = true
{
global.Left = virtual_key_add(view_xview[0] + 0, view_yview[0] + 200, 150, 300, vk_left);
global.Right = virtual_key_add(view_xview[0] + 152, view_yview[0] + 200, 150, 300, vk_right);
global.Up = virtual_key_add(view_xview[0] + 684, view_yview[0] + 290, 180, 200, vk_up);
global.A = virtual_key_add(view_xview[0] + 502, view_yview[0] + 290, 180, 200, vk_down);
activar_c=false;
}
Ésto funcionará siempre y cuando setear las variable "activar_c" a falso no elimine nuevamente las teclas obviamente, pero la idea es básicamente esa, que las teclas no se vuelvan a crear si ya existen. Saludos
Veo que lo solucionaste mientras escribía el mensaje, mejor así.
4
Preguntas y respuestas / Re:No aparece el jugador al cambiar de room
Junio 15, 2017, 06:25:12 PM
Estuve revisando el proyecto, el problema es que tu código en el momento que no hay enemigo te lleva al segundo room, si en éste no existe el jugador no hay ningún problema, sin embargo, si en éste room existe el jugador pero no hay enemigos te quiere llevar nuevamente al room 2. Ahí está el problema, básicamente el juego te lleva infinitas veces al room 2, la solución es colocar algún enemigo allí o bien hacer alguna modificación al código para que ésto no suceda así. Saludos
5
Preguntas y respuestas / Re:Problemas Con El Salto
Junio 15, 2017, 06:10:02 PM
Acabo de responder una pregunta similar aquí en el foro, te recomendaría que le eches un ojo, tal vez te resulta útil. Saludos.
http://www.comunidadgm.org/preguntas-y-respuestas/como-hacer-doble-salto-con-este-tipo-de-script/
http://www.comunidadgm.org/preguntas-y-respuestas/como-hacer-doble-salto-con-este-tipo-de-script/
6
Preguntas y respuestas / Re:¿Como hacer doble salto con este tipo de script?
Junio 15, 2017, 06:06:41 PM
Puedes agregar una variable salto igual a 0 en el evento de creación, entonces cada vez que el jugador salte incrementas ésta variable, y la vuelves a 0 cuando llegue al suelo.
Además en el evento step al presionar la tecla correspondiente al salto deberás revisar si la variable "salto" es menor a 2 o a la cantidad de veces que quieres que el personaje salte. También te recomendaría que uses las variables predeterminadas "hspeed" y "vspeed" para el movimiento.
Create Event
Step Event
Te recomendaría usar un método alternativo para detectar las colisiones, con el código actual no me sorprendería que el personaje se quede atrapado dentro de algún objecto sólido sin poder moverse. Saludos
Además en el evento step al presionar la tecla correspondiente al salto deberás revisar si la variable "salto" es menor a 2 o a la cantidad de veces que quieres que el personaje salte. También te recomendaría que uses las variables predeterminadas "hspeed" y "vspeed" para el movimiento.
Create Event
Código [Seleccionar]
salto=0;
image_speed= 0.5;
gravity_direction= 270;
Step Event
Código [Seleccionar]
///Moverse
key_left = keyboard_check(vk_left);
key_right = keyboard_check(vk_right);
key_up = keyboard_check_pressed(vk_space);
if place_free(x,y+1){
gravity = 0.7;
}else{
salto=0;
vspeed=0;
gravity=0;
}
//the arrow keys<,>,^
if (place_free(x-4,y) and key_left) {
x-=4;
image_xscale = -1;
}
if (place_free(x+4,y) and key_right) {
x+=4;
image_xscale = 1;
}
if (salto<2 and key_up) {
vspeed=-10;
salto++;
}
Te recomendaría usar un método alternativo para detectar las colisiones, con el código actual no me sorprendería que el personaje se quede atrapado dentro de algún objecto sólido sin poder moverse. Saludos
7
Desarrollo de Scripts / [Extensión] Game Maker Studio 1.4 + Google Firebase Auth y Database
Junio 15, 2017, 02:10:30 AM
Autor: Torrencypower
Versión de GM utilizada: GMS 1.4
Descripción: Mediante la utilización de la API REST de firebase permite la integración del sistema de autentificación(registro de usuarios) y acceso a la base de datos de firebase. Se encuentra desarrolada completamente en GML por lo que es compatible con todos los módulos de desarrollo.
Por si alguien desconoce en que consiste Firebase le recomiendo que visite la página oficial.
https://firebase.google.com/
Código:
La extensión consta de 37 Scripts, no colocaré el código individual de cada uno para evitar que la publicación sea demasiado extensa. Adjunto la extensión en formato .gmz y un proyecto de ejemplo de su utilización.
Actualmente estoy trabajando en la elaboración de una wiki donde puede ver ayuda de cada script y su correspondiente código:
http://es.game-maker-firebase.wikia.com/wiki/Game_Maker_Firebase_Wiki
Lista de scripts:
Scripts de configuración
[spoiler]
Scripts de autentificación
[spoiler]
Scripts de manejo de la base de datos
[spoiler]
Scripts de solicitudes
[spoiler]
Scripts de manejo de datos
[spoiler]
Es necesario estar registrado para ver los archivos adjuntos
Versión de GM utilizada: GMS 1.4
Descripción: Mediante la utilización de la API REST de firebase permite la integración del sistema de autentificación(registro de usuarios) y acceso a la base de datos de firebase. Se encuentra desarrolada completamente en GML por lo que es compatible con todos los módulos de desarrollo.
Por si alguien desconoce en que consiste Firebase le recomiendo que visite la página oficial.
https://firebase.google.com/
Código:
La extensión consta de 37 Scripts, no colocaré el código individual de cada uno para evitar que la publicación sea demasiado extensa. Adjunto la extensión en formato .gmz y un proyecto de ejemplo de su utilización.
Actualmente estoy trabajando en la elaboración de una wiki donde puede ver ayuda de cada script y su correspondiente código:
http://es.game-maker-firebase.wikia.com/wiki/Game_Maker_Firebase_Wiki
Lista de scripts:
Scripts de configuración
[spoiler]
- firebase_initializeApp()
- firebase_async_HTTP_module()
- firebase_config_get()
- firebase_config_set()
Scripts de autentificación
[spoiler]
- firebase_auth_check()
- firebase_auth_email_send_verify()
- firebase_auth_email_update(new email)
- firebase_auth_password_reset(email)
- firebase_auth_password_update(new password)
- firebase_auth_profile_delete()
- firebase_auth_profile_update(displayName,photoUrl)
- firebase_auth_profile_get_data()
- firebase_auth_profile_update(JSON String Request)
- firebase_auth_sign_in(email,password)
- firebase_auth_refresh_token()
- firebase_auth_sign_in_anonymously()
- firebase_auth_sign_up(email,password)
- firebase_auth_sign_up_ext(email,password,displayName)
- firebase_auth_data_get(key)
- firebase_auth_data_set(JSON Auth Data)
Scripts de manejo de la base de datos
[spoiler]
- firebase_database_read(dir,requestName,authRequired)
- firebase_database_read_shallow(dir,requestName,authRequired)
- firebase_database_read_orderBy(dir,requestName,authRequired,filter)
- firebase_database_write(dir,requestName,JSON String Data,authRequired)
- firebase_database_push(dir,requestName,JSON String Data,authRequired)
- firebase_database_update(dir,requestName,JSON String Data,authRequired)
- firebase_database_delete(dir,requestName,authRequired)
- firebase_database_generate_key(requestName,authRequired)
Scripts de solicitudes
[spoiler]
- firebase_request_clean(name or id)
- firebase_request_clean_all()
- firebase_request_read(name or id)
Scripts de manejo de datos
[spoiler]
- json_read(JSON Sting,key,key,...)
- json_keys(JSON String)
- json_keys_orderBy(JSON String,key)
- compare_string(string,string)
- date_to_ISO_UTC(GM date)
- date_to_GM(ISO date)
Es necesario estar registrado para ver los archivos adjuntos