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. 31
Preguntas y respuestas / Re:Velocidad de sonic« en: Octubre 27, 2020, 02:27:55 pm »
Saludos B_12.4
La manera mas facil seria agregandole a una variable con el tiempo, prueba creando una variable tipo "hsp" y sumarsela a la "x" /// Event Create /// Event Step Creo que con lo primero de ese ejemplo de se puede lograr prácticamente lo mismo, bueno apenas acabo de pensarlo ![]() 32
Preguntas y respuestas / Re:Dibujar sólo lo que las views captan« en: Octubre 26, 2020, 06:59:59 pm »
Se supone que nada mas se pueden notar cosas que esten dentro de la view, pero si quieres hacerlo de igual forma, entonces usa un pequeño script al principio de cada evento draw de cada objeto
///scr_InView(x, y, view) /// Event Draw 33
Preguntas y respuestas / Re:Ignorar subimagenes la segunda vez que se ejecuta un sprite« en: Octubre 26, 2020, 06:43:23 pm »
Saludos FernandoNavarro
Puedes usar un mismo sprite y gestionar manualmente cada subimagen dependiendo de cad estado. Por ejemplo yo suelo crear un solo sprite que contenga todas las animaciones que necesito (claro puede llegar a ser un poco largo), y de paso escribo en algun comentario el orden de cada subimagen: Código: [Seleccionar] /* Orden de subimagenes En tu caso si lo que quieres es hacer un ataque pues solo verifica con unos if, y de misma forma con una variable que gestione el estado de ataque/// Event CreateEse codigo de ahi se encargara gestionar las subimagenes dependiendo del estado de ataque; ahora habria que verificar donde poner para cambiar los estados de ataque. Voy a usar 2 eventos de tecleo como ejemplo /// Event Keyboard SpaceBueno eso fue un pequeño ejemplo, te sugiero que veas si no estas verificando una animacion en otra parte, para no tener problemas 34
Preguntas y respuestas / Re:Quitar eliminacion de Objetos al superponer otros« en: Octubre 17, 2020, 03:17:35 pm »
Saludos B_12.4
Eso es muy facil, simplemente desmarca la casilla de "Delete Underlying" que te aparece en ese apartado. La casilla sirve para borrar instancias que se encuentren en la misma casilla donde se vaya a poner otra (sirve para evitar que haya 2 instacias colocadas en el mismo lugar) Una vez que la hayas desmarcado no pasara otra vez 35
Preguntas y respuestas / Re:Como puedo registrar un cierre en el juego?« en: Octubre 16, 2020, 07:40:46 pm »
Alemar no existe forma de registrar eso, se supone que al presionar una tecla de esas, se ejecuta una accion al instante. En tu caso seria que se saldria del juego, simplemente se sale y ya, como la funcion de game_end() que solo sirve para ejecutar una sola cosa (la cual seria salirse del juegp), por esa razon se me ocurrio que lo hicieras una segundo antes de salirte del juego.
Si quieres registrar otras cosas, te valdria hacerlo manualmente, como... Por ejemplo...: "current_time", una variable que devuelve el tiempo transcurrido desde que se inicio el juego. Si quisieras registrar algo habria que calcularlo manualmente (por suerte existen algunas variables que sirven para devolver valores como aquel ejemplo) 36
Preguntas y respuestas / Re:Como puedo registrar un cierre en el juego?« en: Octubre 16, 2020, 07:16:37 pm »
Saludos Alemar5
No entendi exactamente que es lo que teneis de meta para lograr, pero si quieres archivar una salida del juego, podrías hacerlo con un archivo .ini que gestione cada cosilla. Un ejemplo para salir del juego: if keyboard_check_pressed(vk_escape) {Y para dibujar las salidas en el evento draw, seria practicamente lo mismo, a excepcion de que solo leeras y no escribiras /// Event Draw Bueno, de esa forma podrás archivar cada salida del juego, y si necesitas resetear a 0, pues simplemente lo vuelves a abrir y lo pones en 0. Para saber como manejarlo mejor, busca la documentacion de archivos .ini aqui 37
Preguntas y respuestas / Re:Obtener de coordenadas de posición (Abierto a mas respuestas)« en: Octubre 11, 2020, 08:04:04 pm »![]() ![]() ![]() ![]() ![]() ![]() Bueno se me acabaron las ideas y sugerencias, asi que pasa todos los codigo de todos los eventos de tu obj_mama. Absolutamente habra que revisar todo. Espero eso funcione... ![]() 38
Preguntas y respuestas / Re:Obtener de coordenadas de posición (Abierto a mas respuestas)« en: Octubre 11, 2020, 04:44:38 am »
Bueno se me acabaron las sugerencias. Si ninguna parte esta en conflicto, probare cambiando el metodo a otro mas dinamico. Cambia todo el codigo anterior a este:
/// Event Step 39
Preguntas y respuestas / Re:Mejorar codigo de colision a partir de coordenadas de posicion (En proceso)« en: Octubre 11, 2020, 03:05:08 am »
Olvidaste quitar 2 "obj_prota."; olvidando eso, ya que no se me ocurre que podria estar dando problema, intenta pasar todo ese codigo al evento draw, y en vez de usar sprite_index usas draw_sprite(). En lo general ya que no imagino porque da problema con el sprite_index, la alternativa es dibujarlo desde ese evento
![]() Otra cosa en la que estoy pensando, es que si no quiere cambiar el sprite con ese codigo entonces revisa a ver si no estas cambiando el sprite_index en otra parte del obj_mama (la mayoria de las veces no se puede cambiar sprite en un lado porque en otro ya se esta manejando). 40
Preguntas y respuestas / Re:Mejorar codigo de colision a partir de coordenadas de posicion (En proceso)« en: Octubre 11, 2020, 01:20:38 am »
Espera un momento... ¿El sprite que querias cambiar era el de la madre? Si es asi entonces quita el "obj_prota." de todos los sprite_index, ya que solo va cambiar su propio sprite
Si ese es todo el caso, entonces no hace falta usar el "bloque.hijo = id". Lo otro que iba decir es que el "48" en los place_meeting() eran solo de prueba, asi que puedes especificar mejor los pixeles (podrias intentar con el tamaño sumado del radio que seria: 10, pero mejor prueba vos) 41
Preguntas y respuestas / Re:Mejorar codigo de colision a partir de coordenadas de posicion« en: Octubre 10, 2020, 10:30:43 pm »
Saludos Alemar5
Tengo 2 soluciones para ti La primera: para que la colision sea mas precisa, debes cambiar el penultimo argumento a true de la funcion "collision_circle" (asi se verificara una colision mas precisa en el circulo, y de paso, para no tener problemas, sugiero que tengas marcada la casilla de precise en la máscara de colisión del sprite en comun) La segunda: sugiero que le añadas una variable al obj_mama y que contenga el id del player, algo asi como: "bloque.hijo = id" y todo eso en el primer codigo /// Event Step obj_mamaY eso solo pasaria si ya fue creada una instancia de obj_textbox. Espero te funcione, la verdad es que todo me lo acabo de pensar 42
Preguntas y respuestas / Re:Problema a la hora de seguir un objeto (Tower Defense)« en: Octubre 10, 2020, 02:25:38 am »
Oh si... Eso sucede porque si no hay una instancia enemiga, entonces solo se estaria dibujando con el angulo .x de una variable con un id vacio. Solucionalo facilmente verificando primero si hubo colision en el circulo
/// Event DrawTambien sugiero que añadas la variable distObj en el evento create y que le des un valor predeterminado de "direction" para evitar que cuando no haya colision en el circulo simplemente muestre ese valor o... Si ya hubo una colision simplemente cuando el enemigo salga ya tendrias una direccion antigua 43
Preguntas y respuestas / Re:Problema a la hora de ver un objeto (Tower Defense)« en: Octubre 10, 2020, 12:06:25 am »
Saludos Momoni
El problema esta en el evento draw, mas que nada cuando dibujas el sprite, si mal no veo estas usando la funcion point_direction para coger la direccion entre tus (x, y) y las (distancia.x, distancia.y). Ahi es donde radica el problema, pues la funcion "distance_to_object()" que usas en el evento step, solo almacena la distancia no el id del objeto. Sugiero que lo hagas dandole el valor de otra funcion: "collision_circle()" y de paso te puedes ahorrar lo del evento step en el evento draw /// Event DrawDe esta forma puedes hacerlo mas lite xD Por cierto si te preguntas como trabaja la funcion de "collision_circle", ajunto su documentacion: https://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/collision_circle.html 44
Preguntas y respuestas / Re:Trazar un dibujado con el mouse« en: Octubre 09, 2020, 05:04:26 pm »
Gracias por la sugerencia. Tuve que hacer algunas cosillas extras pero igual funciono correctamente. Por cierto cuando dijiste que no podias imaginartelo correctamente, creo que tenias razon, a veces no suelo expresarme perfecto cuando trato de describir una idea; mejor lo hago con una imagen aclaratoria:
Tambien queria preguntar ¿si no habia una forma mas suave para intercalar los puntos entre lineas? Pues noto que algunos puntos (especificamente los ultimos puntos) suelen lagearse o no calcular muy bien las aproximaciones cercanas del mouse. Pero de paso las listas funcionaron bien ("me pregunto como se verian las lineas, si GameMaker gestionara vectores" ![]() 45
Preguntas y respuestas / Re:¿Cómo puedo hacer un puzzle con interruptores?« en: Octubre 08, 2020, 05:47:31 pm »
Saludos Zorropa
Lo que pides es algo que se puede verificando facilmente. Simplemente crea una variable que gestione si esta abierta o no, lo puedes hacer desde el mismo objeto puerta /// Evento Create obj_puertaAhora simplemente añade en el objeto interruptor, una condicion para abrir la puerta que nos creo (servira mejor creando el interruptor desde el objeto puerta). Usare como ejemplo el evento colision /// Evento Collision con el obj_jugador Ahora, si te preguntas como poder crear los interruptores en distintas parte de la room sin tener que crear otra puerta... Pues simplemente añade una variable unica, en el "creation code" de la instancia de la puerta añadida en la room xx = 320; //Posicion x donde crear mi interruptorSi lo notaste bien, al principio de este tema (en la parte donde creamos el interruptor), creamos la instancia del interruptor con los valores de esas variables unicas, que serian "xx" "yy" Bueno espero que te sirva este metodo |