Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

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!.

Mostrar Mensajes

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.


Mensajes - Fashion_Trozos

Páginas: 1 ... 3 4 5
61
Muchas gracias funciona perfecto!

62
Buenas! creo que es muy simple pero no consigo dar con la solución.


CREATE
Código: [Seleccionar]
if distance_to_object(obj_comida) < 3 and keyboard_check_pressed(vk_space)
{instance_destroy(obj_comida)
if vida >= 0 {vida +=10}
if vida > 100 {vida = 100}
}

Tengo puesto esto en el create, cuando me acerco al cuadradito que representa la comida y pulso espacio desaparecen todos los cuadraditos verdes de la pantalla. Entiendo que estoy destruyendo todas las instancias del obj_comida pero lo que quiero conseguir es que solo se destruya la que esta a menos de 3 pixels cuando pulso espacio. Que estoy haciendo mal?

63
Preguntas y respuestas / Re:Como usar paths para hacer algo aleatorio?
« en: Marzo 19, 2019, 01:49:13 pm »
Muchas gracias, era tan fácil como utilizar esos parámetros que vienen en el manual. Me cuesta entender como funciona el tema de diferentes instancias de un mismo objeto, creía que si modificaba algo en el Create del objeto, se modificaría exactamente iigual para todos los objetos y no que haría un random distinto para cada instancia. Gracias

64
Preguntas y respuestas / Re:Como ir perdiendo vida/hambre/energía
« en: Marzo 18, 2019, 09:59:57 pm »
Al final lo que he echo es algo to simple.

en el Step he puesto:

Código: [Seleccionar]
vida -= 1/100

Va perdiendo vida, pero de todas maneras me gustaría saber que estaba haciendo mal en el primer planteamiento.

(Lo pongo por si a algún novatillo como yo le puede servir o por si pensarais que es una mala manera)

65
Preguntas y respuestas / Como usar paths para hacer algo aleatorio?
« en: Marzo 18, 2019, 09:57:27 pm »
Buenas a todos. Estaba probando algo y no se muy bien por donde cogerlo. He creado un objeto fuego (un cuadrado de 16x16 pixels) y lo he repartido por toda la room, he creado una ruta en el editor de rutas y se la he asignado al objeto. Lo que pasa es que cuando inicio todas las instancias del obj_fuego describen la misma ruta y a la misma vez. De que modo podría conseguir que al iniciarse siguieran la misma ruta todas las instancias pero que algunas la hicieran invertida, a distintas velocidades, con distintas orientaciones, todo esto para que diera la sensación de que se mueven aleatoriamente. Muchas gracias por la atención, un saludo.

66
Preguntas y respuestas / Como ir perdiendo vida/hambre/energía
« en: Marzo 18, 2019, 07:32:58 pm »
Hola buenas. Me gustaría que mi personaje tuviera un contador que marcase su energía/hambre. Creo que podría hacerlo con una alarma, pero soy muy novato y creo que no lo estoy haciendo del todo bien.

Evento Create

Código: [Seleccionar]
//-------VARIABLES DE VIA/ENERGIA------

vida_maxima = 100;       
vida        = vida_maxima ;
hambre = true;

Evento step

Código: [Seleccionar]
if hambre == true {
vida -= 1;
}

hambre = false;

alarm[1] = room_speed *2;

Alarma[1]

Código: [Seleccionar]
hambre = true
Entiendo que cuando se inicia el juego si me resta un punto de vida, pero el step va tan rápido que no le da tiempo a que se ejecute la alarma y volver a poner "hambre = true" otra vez y se me queda en 99 de vida, me gustaría que fuera perdiendo un punto de vida cada dos segundos (solo en este ejemplo). Creo que me estoy equivocando al ponerlo en el evento Step, pero no me aclaro en que otro sitio podría colocar la alarma o si seria mejor hacerlo de otra manera. La idea es que el personaje vaya perdiendo vida si no come.

Gracias por la atención, un saludo.


67
prota_parado

image_speed = 0;
iamge_index = 0;

image_index lo tienes mal escrito.

Para agregar a lo que dijo Black_Cat, no te quedes con un solo video, busca todo lo que pueda haber sobre un tema.

Muchísimas gracias, era eso mismo. Gracias a esto me acabo de dar cuenta que cuando hay un error de este tipo la palabra no se pone del color que debería. Poco a poco aprendiendo, muchísimas gracias y un saludo!

68
Son bastante malos los tutoriales de hektor profe, para principiantes.
Usa notacion super acoplada y poco intuitivas para los aprendices.

Yo te recomiendo que desaglomerés el programa en algo que sea cómodo, sino pasan cosas como esta: copio todo lo que veo sin entenderlo y ahí esta el problema.

No soy partidario de solucionar problemas de un tuto o de un engine.
Y seguramente suene mala onda pero... mirate el video de nuevo en todo caso.

Que va, que va, no me suena a mala onda para nada, si has sido súper educado. La verdad es que si que me cuesta un montón seguir los tutoriales, pero mas o menos ya voy entendiendo como va la cosa y después puedo repetir lo mismo sin necesidad de echar mano del tuto. Pero si que es verdad que me falta muchísima base y no tengo nada de vocabulario técnico, y cuando algo me da error o directamente no me sale lo que esperaba, pues me atasco y tal, así que muchas gracias por responder, un saludo!!.

69
Estoy usando Game Maker 2

70
He intentado seguir los pasos del los tutoriales de Hektor Profe (Youtube), y mas o menos me voy defendiendo y aclarando, poco a poco. En este ultimo, el de la maquina de estados para un juego RPG, no consigo que pase de estado caminando a parado. Cuando para al personaje se queda a image_speed = 0, pero no se queda con el image_index = 0. Otra cosa que tampoco me funciona es el tema de saltar el primer frame de la animación (en el cual coloco la imagen parada del personaje). No se que estoy haciendo mal, realmente he copiado el código directamente. Muchas gracias y un saludo!

Evento Create
image_speed = 0

   enum ej {
      parado = prota_parado,
      caminando = prota_caminando
      }
     
      dir = "abajo";
      estado = ej.parado;


Evento Step
//Variables
v  = 5;
vh = 0;
vv = 0;

//Deteccion de direccion
vh = (-keyboard_check(vk_left) + keyboard_check(vk_right)) * v;
vv = (-keyboard_check(vk_up) + keyboard_check(vk_down)) * v;


//Colision horizontal
if place_meeting(x+vh,y,obj_cartel) //esta es la colision normal
{ repeat(v)//Este es un bucle "repeat"
    {  if !place_meeting(x+sign(vh),y,obj_cartel)// "if !" quiere decir lo contrario
        { x += sign(vh); }
        else
        {break;}
       
                }
         vh = 0 }
       
//Colision vertical
if place_meeting(x,y+vv,obj_cartel)
{ repeat(v)
    { if !place_meeting(x,y+sign(vv),obj_cartel)
        { y += sign(vv); }
        else
        { break; }
                 }
          vv = 0 }


//Detección de dirección
if (vv<0)      dir = "arriba";
else if (vv>0) dir = "abajo";
else if (vh<0) dir = "izquierda";
else if (vh>0) dir = "derecha";


//Detección de estado
if (dir != "") estado = ej.caminando;
if (vv == 0 and vh == 0) estado = ej.parado;

x += vh //si esto lo colocamos justo despues de la deteccion de movimiento
//la colision no funciona
y += vv

script_execute(estado)

Y estos serian los dos scripts

prota_parado

image_speed = 0;
iamge_index = 0;

prota_caminando
image_speed = 1
if (image_index == 0) image_index++;


switch (dir) {
    case "abajo":
    sprite_index = spr_prota_abajo;
    break;
    case "arriba":
    sprite_index = spr_prota_arriba;
    break;
    case "izquierda":
    sprite_index = spr_prota_izquierda;
    break;
    case "derecha":
    sprite_index = spr_prota_derecha;
    break;
    }

Muchas gracias si os tomais la molestia, un saludo!


71
Preguntas y respuestas / Re:Animación se repite continuamente
« en: Febrero 25, 2019, 03:56:31 pm »
Chequea si el fantasma ya existe también, en la primera línea de código, añade esto otro:

Código: [Seleccionar]
and instance_exists(objectFantasmaAparicion)=false

Muy buenas! Añadiendo esta linea que me planteas ha funcionado a medias! pero sí, era exactamente lo que necesitaba.
Poniendo esto:

Código: [Seleccionar]
if distance_to_object(objectPersonaje) <10 and instance_exists(objectFantasmaAparicion) = false
        {
instance_create_layer(780,420,"Instances",objectFantasmaAparicion)
}

La animación seguía repitiéndose, pero no creaba un fantasma detrás del otro, antes se llegaba a ver como se creaban varios fantasmas por segundo (evento Step). Añadiendo la linea que me pasaste se veía como se creaba un fantasma y al finalizar la animación se repetía la animación desde el principio, pero no varios a la vez (uno por frame, me imagino). Teniendo esto solucionado añadí un evento Otro/fin de la animación y ahí puse:

Código: [Seleccionar]
image_index = 20
image_speed = 0

Donde 20 es el ultimo cuadro de la animación.

Haciéndolo así funciona. Mi pregunta ahora es, ¿como puedo hacer que después de finalizar la animación pase a la otra animación del fantasma flotando?

Lo que he echo es añadir esto:

//He cambiado el sprite
Código: [Seleccionar]
sprite_index = spriteFantasmaFlotando;
image_index = 0;
image_speed = 1
Ahora sucede la animacion (se ve como el fantasma va formandose mientras sale de una lapida) y después pasa a la otra animación (se queda el fantasma ya formado flotando, se mueve un pixel arriba y otro abajo)

Lo hariais de esta manera?

72
Preguntas y respuestas / Animación se repite continuamente
« en: Febrero 25, 2019, 11:44:10 am »
Hola, buenas a todo el mundo. Es la primera vez que posteo en este foro.

Soy un completo novato en este mundo de la programación y es posible que lo que vaya a preguntar sea algo muy básico, llevo dos días intentándolo y no lo consigo.
La situación es la siguiente. Se trata de que cuando el personaje (protagonista) se acerque a una lapida aparezca una fantasma (con una animación) y después se quede flotando (me imagino que con otra animación diferente).

Esto es lo que puse en el evento Step de la lapida

Código: [Seleccionar]
if distance_to_object(objectPersonaje) <10 {
instance_create_layer(x,y,"Instances",objectFantasmaAparicion)
}

El problema es que cuando me acerco a la lapida no para de repetirse la animación y van apareciendo fantasmas todo el tiempo.
Mi intención es que haga la aparición una sola vez y después se quede flotando para poder iniciar un dialogo con el. Tengo una segunda animación con un segundo objeto (que es el fantasma flotando, nada una chorrada se mueve un pixel arriba y otro abajo) y la idea es esa, que aparezca y se quede flotando.

No se si me he explicado bien del todo, espero que con esta información me podais ayudar, un saludo!

Páginas: 1 ... 3 4 5