Se ha publicado un nuevo servicio, el Portal de Juegos Online
Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento. 16
Preguntas y respuestas / Re:Error visual con distance_to_object« en: Diciembre 29, 2018, 06:08:08 pm »
Si tuviera que adivinar tiene que ver con tus condiciones en el if/else:
Supongamos que la posición del enemigo es enemigo.x+7. por lo tanto la condición if enemigo.x+5 < x se cumple. así que el enemigo se mueve x -= 2.5; y su nueva posición es enemigo.x+4.5 ahora en el próximo frame, se prueba de nuevo la condición: if enemigo.x+5 < x? no, en este caso x = enemigo.x+4.5 por lo tanto entra en la condición del else así que el enemigo se mueve x += 2.5; y su nueva posición es enemigo.x+7 nuevamente, En el próximo frame vuelve a moverse a 4.5, luego a 7 y así, ese es el efecto que te esta sucediendo. Este es tu problema, para solucionarlo de forma rápida podrías probar: if distance_to_object(enemigo) < 400 and enemigo.image_alpha = 1 Saludos 17
Preguntas y respuestas / Re:[3D] Fusionar primitivas dibujadas por alpha« en: Diciembre 25, 2018, 05:47:33 pm »
No estoy seguro si te entendí bien, pero por lo que suena, podrías utilizar esta función antes de dibujar esos sprites:
draw_set_blend_mode_ext (https://docs.yoyogames.com/source/dadiospice/002_reference/drawing/colour%20and%20blending/draw_set_blend_mode_ext.html) lo que hace esa función es decirle al renderer que hacer con los 2 pixeles actuales (el que estas a punto de dibujar y el que ya esta dibujado) decirte cual te puede servir es un poco dificil, (yo diría tal ves: draw_set_blend_mode_ext(bm_src_alpha, bm_zero)). pero en la página del manual están todas las combinaciones posibles, dale una mirada. Saludos. 18
Preguntas y respuestas / Re:bala multi objetivos que sigue a enemigos« en: Diciembre 23, 2018, 06:41:29 am »
Puedes obtener la instancia mas cerca utilizando la funcion instance_nearest(x, y, obj) luego le asignas esa instancia a la bala que creas para que esta solo siga a ese enemigo:
Esto lo pondrías cuando crees la bala: //Primero obtenemos la posición del enemigo mas cercano Ahora en el objeto de la bala, en el evento step, depende de como tengas el sistema de movimiento esto puede cambiar. Yo lo voy a mover utilizando un método facil //Necesitas una velocidad para la bala Esto debería funcionar, al menos de forma básica, ya a partir de esto puedes adaptarlo a tus necesidades. Saludos 19
Preguntas y respuestas / Re:Planos se cortan en 3D por cercanía a la cámara« en: Diciembre 22, 2018, 10:14:07 pm »
No entiendo muy bien lo que estoy viendo, pero por defecto las camaras 3d tienen 2 planos de corte: cuando los pixeles están muy próximos a la cámara y cuando están muy alejados, llamados znear y zfar respectivamente:
![]() Solamente los objetos que estén entre ambos planos (el view frustum) se van a dibujar. Para remediar un poco tu problema, puedes tratar de haciendo el znear mas pequeño (por defecto es igual a 1) pero debe ser mayor a 0. Esto se hace en la función que setea la proyección de la cámara, utiliza d3d_set_projection_ext para definir los valores de znear y zfar, en la documentación puedes ver un poco mas de info: https://docs.yoyogames.com/source/dadiospice/002_reference/drawing/drawing%203d/3d%20projections/d3d_set_projection_ext.html Pero sería algo como esto: d3d_set_projection_ext(xfrom, yfrom, zfrom, xto, yto, zto, 0, 0, 1, 60, room_width/room_height, 0.1, 16000); Saludos 20
Preguntas y respuestas / Re:Shaders- negativo y distorcion de sprite« en: Diciembre 21, 2018, 07:49:16 pm »
Hola, no puedo escribirte un shader y que lo puedas utilizar porque la verdad es un efecto complejo que requiere de temas específicos de tu juego, sin embargo el modo en el que funcionaría es el siguiente:
Dices que los objetos deben quedar de color negativo cuando están detrás de un circulo. Los pasos entonces serían los siguientes: Primero: Dibuja el circulo en un surface Segundo: Crea un shader y dibuja los objetos a ser afectados por el utilizándolo * Este shader recibirá no solamente el objeto a dibujar sino también el circulo que dibujaste en la surface * En el fragment shader debes detectar si el pixel que estas dibujando esta dentro del pixel del circulo ya dibujado * Si es así, inviertes los colores haciendo algo como colorInvertido = vec4(1.0, 1.0, 1.0, 1.0) - elColorDelPixelNormal; hasta es punto es relativamente sencillo, si bien no te puedo copiar un shader ahora mismo, hace unos años hice un video tutorial sobre como dibujar la siueta de personajes detras de otros objetos, es básicamente la misma teoría solo que en vez de dibujar el color de la silueta dibujas el color invertido, este es el video: Saludos 21
Preguntas y respuestas / Re:Colisionar con objetos generados, que esten en la misma posición y« en: Diciembre 20, 2018, 05:02:38 am »
por lo que entiendo, este es tu script para generar una serie de obstaculos:
instance_create(room_width+(8*32) , 692 , obj_box); // obstáculo ahí es donde debes decirle en que carril estan: var obstaculo; Si el jugador inicia en el medio por ejemplo, entonces en el evento create puedes poner que esta en el carril 2 carril = 2; Y luego cuando presiones arriba para cambiar de carril, le restas 1 y cuando baje de carril le sumas 1 22
Preguntas y respuestas / Re:Colisionar con objetos generados, que esten en la misma posición y« en: Diciembre 20, 2018, 04:28:21 am »
Es curioso yo estoy planeando un juego así
![]() 1. cambia la mascara de colisión del sprite (editando el sprite) para que solo ocupe sus pies 2. haz que el jugador y los obstáculos sepan en que carril están. luego cuando hagas la colisión verificas que estén en el mismo carril: var idObstaculo = instance_place(x, y, objPlayer); utilizo instance_place en vez de place_meeting para saber cual es la instancia con la que colisione, fuera de eso son lo mismo. 23
Preguntas y respuestas / Re:Necesario desactivar los sprites al no verse en la cámara?« en: Diciembre 20, 2018, 12:52:23 am »
hmm depende de varios factores, pero digamos que la regla general es que si no ves que sea necesario (que se ponga lento el juego) entonces no hace falta que lo implementes, obviamente hay un limite, si tienes 100 instancias puede que no lo notes, pero si tienes 1000 puede que sea mas notable (o no)
así que primero puedes probar rapidamente colocando el maximo numero de unidades que crees que puedan existir (deberia existir un limite incluso siendo un rts) y mira si se pone lento (en varios pcs si puedes hacerlo) saludos. 24
Preguntas y respuestas / Re:duda con sprites« en: Diciembre 20, 2018, 12:49:32 am »
En ese caso guardalos en variables, por ejemplo: en vez de hacer:
sprite_index = sprPersonajeCorriendoArriba; guarda todos tus sprites en variables (esto por ejemplo en el evento create) corriendoArriba = sprPersonajeCorriendoArriba; y luego cuando asignes el sprite lo haces con la variable: sprite_index = corriendoArriba; Luego cuando obtengas el item que quieras, cambias las variables corriendoArriba = sprPersonajeFase2CorriendoArriba; 25
Preguntas y respuestas / Re:Problemas con Alarmas« en: Diciembre 19, 2018, 08:48:45 pm »
es porque lo tienes en el evento step.
el evento step se ejecuta una vez por frame, es decir que en cada frame lo estas colocando en room_speed(30) y por eso no llega a 0, por eso mismo cuando lo pones en 1 funciona, porque al final del frame llega a 0. Para solucionarlo, incia la alarma de la siguiente forma: // Revisamos si la alarma esta desactivada Saludos 26
Preguntas y respuestas / Re:Problemas con Alarmas« en: Diciembre 19, 2018, 08:39:53 pm »
en que evento estas colocando la alarma, y que código estas usando?
27
Juegos completos / Re:Lab 23 [Windows]« en: Diciembre 19, 2018, 08:24:57 pm »
Sip, ya funciona (aunque no he probado el resto, no puedo grabar ahora mismo
![]() Gracias por todo ![]() PD: Cual es el discord que dices? 28
Juegos completos / Re:Lab 23 [Windows]« en: Diciembre 19, 2018, 07:26:26 pm »
Oh wow! este juego xD
Estoy haciendo un video para youtube pero me he encontrado con un error en la batalla contra el jefe final, lo tengo en pausa a ver si de pronto lo puedes solucionar ![]() Saludos 29
Preguntas y respuestas / Re:donde esta instance_cereate(,,,)?« en: Enero 14, 2018, 08:13:01 pm »
Eso cambió en la versión de GMS2, si quieres crear la instancia en la capa por defecto entonces debes usar:
instance_create_layer(x,y, "Instances",obj_bala) Saludos 30
Preguntas y respuestas / Re:¿Esto no produce un bucle de memoria?« en: Enero 06, 2018, 11:03:42 pm »
Puedes crear una variable tipo "global.ultimo_guardado" y asignarle el id del guardado en el evento de colisión y ya con eso verificas si fue el ultimo en el que estaba o no, algo así:
// Si la ultima vez que guardamos fue aca, entonces nos salimos Saludos |