Hola buenas, estoy haciendo un plataformas chustero para practicar. En el juego quiero que mi personaje dispare, y claro, podrá disparar dependiendo de si mira hacia izquierda o hacia derecha. Como podría hacer que detecte hacía que lado esta mirando el personaje?
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.
1
Preguntas y respuestas / [SOLUCIONADO] Que mi personaje dispare hacia el lado hacia el cual esta girado
Agosto 01, 2019, 07:25:30 PM2
Preguntas y respuestas / [SOLUCIONADO]No me detecta las colisiones horizontales
Junio 25, 2019, 01:38:53 PM
Buenas a todos!. Estoy intentando familiarizarme con el tema de las colisiones. Estoy haciendo un plataformas básico. Las colisiones verticales funcionan perfectamente, pero las horizontales no. os pongo el código a ver si me podéis echar una mano. Un saludo
Código [Seleccionar]
//--------------------Colisiones-----------------------------------------
//Colision vertical contra el suelo
if place_meeting(x,y+vsp,ob_suelo){
//Mientras no encontremos colision a un pixel, ajustamos de 1 en 1
while (!place_meeting(x,y+sign(vsp),ob_suelo)){
y += sign(vsp);
}
vsp = 0;
}
//Colisiones horizontales
if (place_meeting(x+hsp,y,ob_suelo)){
//Mientras no encontremos colision a un pixel, ajustamos de 1 en 1
while (!place_meeting(x+sign(hsp),y,ob_suelo)){
x += sign(hsp);
}
hsp = 0;
}
3
Preguntas y respuestas / Game Maker 2 de prueba, ahora solo 30 días?
Junio 11, 2019, 09:03:28 AM
Acabo de descargarme Game Maker Studio 2 de la pagina de yoyo y veo que han cambiado el sistema de prueba, por lo que he leido ahora solo dura 30 días el trial?? esto es así?? alguien lo esta utilizando con mas de 30 días?
4
Preguntas y respuestas / Game Maker Studio 2 no se abre!
Junio 05, 2019, 07:04:19 PM
Buenas a todos, no se que pasa, moví algunos archivos de la carpeta donde tengo instalado Game Maker y no se que toque que no funciona, pulso en el icono, me pide permisos como administrador, doy que sí y nada, no pasa nada, ni se abre el programa , ni tira ningún error ni nada de nada. lo he probado a desinstalar 30 veces y nada, también me lo he vuelto a descargar de la pagina de Yoyo y nada de nada. Tengo la versión de prueba del 2. alguien sabe como puedo solucionar esto?
5
Preguntas y respuestas / Como picar solo una roca
Junio 04, 2019, 02:22:19 PM
Buenas a todos! He creado un sprite con forma de roca y con 4 subimagenes. La idea es que a cada golpe de pico la roca se vaya destruyendo. He creado una variabe destruccion_roca = 0 y cada vez que pico en una roca aumenta 1 o 2 dependiendo de si llevo o no el pico equipado, después dependiendo del valor de destruccion_roca asignar un sprite index determinado. El problema viene que no se donde colocar todo esto. Primero he intentado colocarlo en el ob_roca y funciona! pero cada vez que golpeo una roca veo como todas las rocas de la room sufren el mismo efecto y se van destrozando. No utilizo un evento de colisión para controlar este tipo de cosas, lo he echo así:
STEP del player
mi idea es colocar algo tipo así para ir cambiando de subimagen:
Y que cada vez que golpee una roca determinada se vaya destruyendo, pero solo la roca que estoy golpeando
STEP del player
Código [Seleccionar]
//----------PICAR ROCA---------------------------------------------------------
//Picar roca con o sin pico
if distance_to_object(ob_roca) < 4
and mouse_check_button_pressed(mb_left)
and position_meeting(mouse_x,mouse_y,ob_roca)
and poder_picar == true {
//Si no llevo pico
if pico_equipado == false{
ob_roca.vida_roca--;
recurso_roca++;
destruccion_roca++
poder_picar = false;
destruccion_roca ++
alarm[0] = room_speed * 1.5;
}
else {
//Si llevo pico
ob_roca.vida_roca -= 2;
recurso_roca += 2;
destruccion_roca += 2;
poder_picar = false;
alarm[0] = room_speed * 1.5;
}
}
mi idea es colocar algo tipo así para ir cambiando de subimagen:
Código [Seleccionar]
if destruccion_roca = 0 {
ob_roca.image_index = 0
}
if destruccion_roca = 1 {
ob_roca.image_index = 1
}
if destruccion_roca = 2 {
ob_roca.image_index = 2
}
if destruccion_roca = 3 {
ob_roca.image_index = 3
}
Y que cada vez que golpee una roca determinada se vaya destruyendo, pero solo la roca que estoy golpeando
6
Preguntas y respuestas / Mi personaje no ataca cuando esta parado
Mayo 28, 2019, 01:16:13 PM
Buenas a todo el mundo. Llevo ya unos días intentando hacer que funcione una maquina de estados, es a primera vez que lo hago y al final salvando problemillas de por aquí y por allá al final mi personaje se mueve, se esta quieto y ataca. Ahora el problema lo tengo en que cuando esta parado no ataca. He intentado hacer otro estado de "parado_atacando" pero ni aun así lo consigo. Debugueando por la consola veo que entra al estado de atacar parado, pero solo lo hace por un minisegundo, por lo tanto veo que entra en ese estado, pero no se mantiene allí y se sale rapidísimo. Os paso la parte del código de atacar:
Os paso tambien el script de atacar parado, que es exactamente igual que el de atacar. Por ahora solo ataca cuando voy moviendome :)
Código [Seleccionar]
if mouse_check_button_pressed(mb_left)
and pico_equipado = true
and estado != estado_personaje.atacando
and dir != "parado"
{
estado = estado_personaje.atacando;
image_index = 0;
}
if mouse_check_button_pressed(mb_left)
and pico_equipado = true
and estado != estado_personaje.atacando
and dir = "parado"
{
estado = estado_personaje.atacando_parado;
image_index = 0;
}
show_debug_message(estado)
Os paso tambien el script de atacar parado, que es exactamente igual que el de atacar. Por ahora solo ataca cuando voy moviendome :)
Código [Seleccionar]
image_speed = 1;
switch(dir){
case "abajo":
sprite_index = spr_prota_frente_picando;
break;
case "arriba":
sprite_index = spr_prota_detras_picando;
break;
case "derecha":
sprite_index = spr_prota_derecha_picando;
break;
case "izquierda":
sprite_index = spr_prota_izquierda_picando;
break;
}
if image_index >= image_number-1{
estado = estado_personaje.parado_pico
}
7
Preguntas y respuestas / [RESUELTO] Problema con enumerador
Mayo 27, 2019, 08:01:43 PM
Hola, buenas a todo el mundo. Tengo un problema, quiero usar un enumerador porque estoy siguiendo (otra vez) un tutorial de como hacer una maquina de estados. Me da error en el evento Create.
El error que me da es "error game maker enum assignment must be an integer". No estoy utilizando bien el enumerador? un saludo!
Código [Seleccionar]
enum ep{
parado = scr_parado(),
caminando = scr_prota_moviendose()
}
dir = "abajo";
estado = ep.parado;
El error que me da es "error game maker enum assignment must be an integer". No estoy utilizando bien el enumerador? un saludo!
8
Preguntas y respuestas / Maquina de estados simple (muy difícil para mi)
Mayo 15, 2019, 08:26:18 PM
Hola, buenas tardes a todo el mundo. Llevo unos días intentando aprender un poco sobre las maquinas de estados. He conseguido hacerla funcionar, pero solo en parte. Por ahora mi personaje se mueve en todas direcciones con su animación en la dirección concreta, cuando esta parado simplemente se queda quieto mirando hacia la dirección en la que iba, si iba a la derecha y dejo de pulsar, pues eso, se detiene mirando a la derecha. Hasta ahí bien, el problema me ha surgido al querer que mi personaje ataque. He echo unas animaciones cutres del personaje atacando en todas direcciones y he preparado un script de "ataque" pero no ha funcionado lo bien que me gustaría. Os pongo algo del código y a ver si me podéis echar un cable.
En el evento Crate no he puesto nada referente a la maquina de estados, lo probé como explicaba Hektor Profe en un video de Youtube pero no hubo manera, me daba errores y decidí seguir adelante sin hacer un enumerador con los estados (a lo mejor ahí empezó mi fallo).
En el Step primero tengo esto:
[gml]
if (vv > 0) dir = "abajo";
else if (vv < 0) dir = "arriba";
else if (vh > 0) dir = "derecha";
else if (vh < 0) dir = "izquierda";
else if (vh == 0 and vv == 0) dir = "parado"
if pico_equipado == true {
//Parte grafica con pico
if dir != "" scr_prota_moviendose_con_pico()
if (vh == 0 and vv == 0) scr_parado_con_pico()
}
else{
//Parte grafica sin pico
if dir != "" scr_prota_moviendose()
if (vh == 0 and vv == 0) scr_parado()
}
[/gml]
Tengo como dos modos que digamos, uno con un pico equipado y otro sin.
Estos son los scripts (pondré solo los de sin pico)
Script parado:
[gml]
image_speed = 0;
image_index = 0;
[/gml]
Script moviendose:
[gml]
image_speed = 1
switch(dir){
case "abajo":
sprite_index = spr_prota_frente;
break;
case "arriba":
sprite_index = spr_prota_detras;
break;
case "derecha":
sprite_index = spr_prota_derecha;
break;
case "izquierda":
sprite_index = spr_prota_izquierda;
break;
}
[/gml]
Esto es lo que tengo para que se mueva, y se mueve. El problema viene cuando quiero añadir el ataque. Realmente lo único que he echo para añadir el ataque es lo siguiente:
Step:
[gml]
if mouse_check_button_pressed(mb_left) {
atacando = true;
}
if atacando == true {
scr_prota_picando()
}
[/gml]
Y el script de "ataque":
[gml]
image_speed = 1
switch(dir){
case "abajo":
sprite_index = spr_prota_frente_picando;
break;
case "arriba":
sprite_index = spr_prota_detras_picando;
break;
case "derecha":
sprite_index = spr_prota_derecha_picando;
break;
case "izquierda":
sprite_index = spr_prota_izquierda_picando;
break;
case "parado":
sprite_index = spr_prota_frente_picando;
break;
}
if image_index = 4 {
atacando = false;
}
[/gml]
Lo que me sucede haciéndolo así es que al pulsar el botón del mouse el personaje entra en el modo ataque por decirlo de alguna manera y ya no lo abandona, a parte no funciona como me gustaría que es que cuando pulso ataca y cuando no, pues no. Lo que sucede es que se activa la animación dependiendo de hacía que lado me muevo y se queda activada todo el tiempo mientras me mueva, si voy a la derecha veo al personaje atacando sin parar hacía la derecha y en cuando me detengo se detiene la animación también. Me imagino que no lo estoy haciendo bien, me cuesto mucho imaginarme la lógica para que todo funcione bien.
En el evento Crate no he puesto nada referente a la maquina de estados, lo probé como explicaba Hektor Profe en un video de Youtube pero no hubo manera, me daba errores y decidí seguir adelante sin hacer un enumerador con los estados (a lo mejor ahí empezó mi fallo).
En el Step primero tengo esto:
[gml]
if (vv > 0) dir = "abajo";
else if (vv < 0) dir = "arriba";
else if (vh > 0) dir = "derecha";
else if (vh < 0) dir = "izquierda";
else if (vh == 0 and vv == 0) dir = "parado"
if pico_equipado == true {
//Parte grafica con pico
if dir != "" scr_prota_moviendose_con_pico()
if (vh == 0 and vv == 0) scr_parado_con_pico()
}
else{
//Parte grafica sin pico
if dir != "" scr_prota_moviendose()
if (vh == 0 and vv == 0) scr_parado()
}
[/gml]
Tengo como dos modos que digamos, uno con un pico equipado y otro sin.
Estos son los scripts (pondré solo los de sin pico)
Script parado:
[gml]
image_speed = 0;
image_index = 0;
[/gml]
Script moviendose:
[gml]
image_speed = 1
switch(dir){
case "abajo":
sprite_index = spr_prota_frente;
break;
case "arriba":
sprite_index = spr_prota_detras;
break;
case "derecha":
sprite_index = spr_prota_derecha;
break;
case "izquierda":
sprite_index = spr_prota_izquierda;
break;
}
[/gml]
Esto es lo que tengo para que se mueva, y se mueve. El problema viene cuando quiero añadir el ataque. Realmente lo único que he echo para añadir el ataque es lo siguiente:
Step:
[gml]
if mouse_check_button_pressed(mb_left) {
atacando = true;
}
if atacando == true {
scr_prota_picando()
}
[/gml]
Y el script de "ataque":
[gml]
image_speed = 1
switch(dir){
case "abajo":
sprite_index = spr_prota_frente_picando;
break;
case "arriba":
sprite_index = spr_prota_detras_picando;
break;
case "derecha":
sprite_index = spr_prota_derecha_picando;
break;
case "izquierda":
sprite_index = spr_prota_izquierda_picando;
break;
case "parado":
sprite_index = spr_prota_frente_picando;
break;
}
if image_index = 4 {
atacando = false;
}
[/gml]
Lo que me sucede haciéndolo así es que al pulsar el botón del mouse el personaje entra en el modo ataque por decirlo de alguna manera y ya no lo abandona, a parte no funciona como me gustaría que es que cuando pulso ataca y cuando no, pues no. Lo que sucede es que se activa la animación dependiendo de hacía que lado me muevo y se queda activada todo el tiempo mientras me mueva, si voy a la derecha veo al personaje atacando sin parar hacía la derecha y en cuando me detengo se detiene la animación también. Me imagino que no lo estoy haciendo bien, me cuesto mucho imaginarme la lógica para que todo funcione bien.
9
Preguntas y respuestas / Como picar piedra? [SOLUCIONADO]
Mayo 14, 2019, 04:00:20 PM
Llevo un par días pues eso, intentando picar piedra que digamos. Me gustaría que me propusierais lógicas fáciles de como hacer algo así. La intención es que cuando el personaje se acerque a menos de 4 pixeles de una "roca" y pulse, por ejemplo, espacio, le reste 1 a la vida de la piedra, cuando la piedra pierda digamos 4 vidas se destruya.
Lo he intentado de varias maneras y no consigo hacerlo bien. O se me destruye el protagonista, o todas las rocas o no pasa nada. He intentado ir simplificandolo todo hasta que he empezado un proyecto solo para probar esto mismo y ni aun así. Os pongo el código de esto último.
Pero al "picar" 4 de piedra desaparecen todas las instancias y me da este error:
Unable to find any instance for object index '2' name 'ob_roca'
at gml_Object_ob_prota_Step_0 (line 36) - if ob_roca.vida_roca == 0 {
La vida de la roca se la puse en el CREATE del ob_roca. Puede que ese sea el error?
Y si lo intento con un evento colision me pasa lo siguiente.
De esta manera me funciona el invento, pero claro, solo una vez. Me imagino que es porque la variable vidas_roca baja a "0" me sirve para que desaparezca la primera instancia en a que estoy "picando" pero después, en las demás, las destruye solo con colisionar al cumplirse if ob_roca.vida_roca == 0 . No podrían tener cada instancia del ob_roca sus propias vidas??? por decirlo de alguna manera.
Añadiendo un poco mas al código (ob_roca.vida_roca +=4) puedo hacer que funcione hasta la penúltima instancia, cuando se terminan las instancias en la room el invento peta
PD: Tengo otro post abierto en el que el problema es muy similar, pero pensé que podía simplificarlo y así alguien podría responderme fácilmente a este problema y quedaría solucionado para próximos principiantes como yo. Si alguno de los dos queda solucionado, borraría el otro
Lo he intentado de varias maneras y no consigo hacerlo bien. O se me destruye el protagonista, o todas las rocas o no pasa nada. He intentado ir simplificandolo todo hasta que he empezado un proyecto solo para probar esto mismo y ni aun así. Os pongo el código de esto último.
Código [Seleccionar]
if distance_to_object(ob_roca) < 4 and keyboard_check_pressed(vk_space){
ob_roca.vida_roca--
}
if ob_roca.vida_roca == 0 {
instance_destroy(instance_nearest(x,y,ob_roca))
}
Pero al "picar" 4 de piedra desaparecen todas las instancias y me da este error:
Unable to find any instance for object index '2' name 'ob_roca'
at gml_Object_ob_prota_Step_0 (line 36) - if ob_roca.vida_roca == 0 {
La vida de la roca se la puse en el CREATE del ob_roca. Puede que ese sea el error?
Y si lo intento con un evento colision me pasa lo siguiente.
Código [Seleccionar]
if keyboard_check_pressed(vk_space) {
ob_roca.vida_roca--
}
if ob_roca.vida_roca == 0 {
with other instance_destroy()
}
De esta manera me funciona el invento, pero claro, solo una vez. Me imagino que es porque la variable vidas_roca baja a "0" me sirve para que desaparezca la primera instancia en a que estoy "picando" pero después, en las demás, las destruye solo con colisionar al cumplirse if ob_roca.vida_roca == 0 . No podrían tener cada instancia del ob_roca sus propias vidas??? por decirlo de alguna manera.
Añadiendo un poco mas al código (ob_roca.vida_roca +=4) puedo hacer que funcione hasta la penúltima instancia, cuando se terminan las instancias en la room el invento peta
Código [Seleccionar]
if keyboard_check_pressed(vk_space) {
ob_roca.vida_roca--
}
if ob_roca.vida_roca = 0 {
with other instance_destroy()
ob_roca.vida_roca +=4
}
PD: Tengo otro post abierto en el que el problema es muy similar, pero pensé que podía simplificarlo y así alguien podría responderme fácilmente a este problema y quedaría solucionado para próximos principiantes como yo. Si alguno de los dos queda solucionado, borraría el otro
10
Preguntas y respuestas / Como no destruir todas las instancias de un objeto
Mayo 09, 2019, 02:50:52 PM
Hola, buenas. Tengo un problema que no consigo solucionar. Quiero que mi personaje pueda sacar 4 unidades de piedra cuando "pique" una roca y que despues esta se destruya. No estoy muy seguro de como hacerlo, consigo que pueda extraer 4 unidades de una roca pero después se destruyen todas las instancias de roca y no solo la que esta picando.
Lo he puesto en un evento colisión de mi protagonista hacia el objeto roca.
Me imagino que es una tontería de primero de programación. Un saludo!
Lo he puesto en un evento colisión de mi protagonista hacia el objeto roca.
Código [Seleccionar]
if distance_to_object(ob_piedra) < 4 and mouse_check_button_pressed(mb_left)
and position_meeting(mouse_x,mouse_y,ob_piedra) {
if scr_obtener_slot_libre() != -1 and global.primera_piedra == true {
global.inventario[scr_obtener_slot_libre()] = "Piedra"
global.primera_piedra = false;
}
global.cantidad_piedra++
global.vida_piedra--
}
if global.vida_piedra <= 0 {with other instance_destroy()}
if global.cantidad_piedra == 0 {
global.primera_piedra = true;
}
Me imagino que es una tontería de primero de programación. Un saludo!
11
Preguntas y respuestas / Duda a la hora de equipar a mi personaje
Mayo 07, 2019, 12:20:38 PM
Hola, buenas. Estoy empezando a hacer mis pinitos y ahora me toca la parte de equipar a mi personaje. Por ahora ya se mueve, interacciona con otros items e incluso tengo mi primer inventario rudimentario (con el bucle "for"), el personaje va cogiendo y acumulando piedra, madera, lo típico. Ahora ha llegado el momento de poder equiparlo como toca con un pico, una pala etc. Tengo dudas en como hacerlo. Por una parte esta la visual, cual seria el procedimiento mas adecuado, me imagino que hay que hacer otra vez un sprite del personaje parado y caminando en todas direcciones, pero esta vez con la herramienta en cuestión y a parte, un sprite en cada dirección con la animación de la utilización de cada cosa que lleve equipada, esto es así? Y la otra seria ya mas la parte de programación pero creo que lo dejaré para otro post. Pregunto esto porque supongo que hay varias maneras de hacerlo, imagino que no es el mismo sistema por ejemplo Stardewvalley en el que parece que si han sido dibujados de nuevo lo personajes con la herramienta a por ejemplo Forager que parece que le han pegado el pico encima y se mueve y listo.
12
Preguntas y respuestas / Como colocar sprites en la room sin tener que seguir la cuadrícula (SOLUCIONADO)
Mayo 03, 2019, 09:47:26 PM
Estoy empezando a pensar en como hacer los fondos, por hora voy dibujando sprites del tipo: un arbol, un arbusto, etc, pero tengo la duda de cual sería la manera correcta de hacerlo en gm2. Por ahora lo que hago es poner un fondo de color verde (no se de que manera hacerlo mejor) y después voy poniendo un arbol por aquí y un arbusto por allá, pero estoy utilizando instancias de objetos. He pensado en utilizar un draw_sprite, pero me parece una matada andar colocando los sprites así. Alguien sabe si hay alguna manera de colocar los sprites igual de fácil que cuando lo hago con instancias? un salu
13
Preguntas y respuestas / No funciona el position meeting cuando activo las vistas
Abril 21, 2019, 09:04:27 PM
Hola, buenas a todo el mundo. Tengo un problemilla cuando activo las vistas, os explico. Tengo un objeto que me sirve de botón (es un botón que al clicar encima se crea un acha), el botón se crea cuando se crea un panel de inventario al pulsar la tecla "I", la cosa esta que si no activo las vistas al pasar el puntero del ratón me da true, pero al activar una vista (para acercar la vista al personaje) la función de position meeting parece que deja de funcionar y al pasar el cursor por encima ya no me da "1" sino "0", es como si al activar la vista no detectase que el botón se crea en la misma coordenada o algo así. Todo lo que dibujo en tema de paneles y tal lo hago en el Draw GUI y al objeto del botón en el evento GUI le he puesto "draw_self". Que estoy haciendo mal?, un saludo!
14
Preguntas y respuestas / (Solucionado)Como hacerinventari en el que se coloquen los objetos en los huecos
Abril 09, 2019, 04:15:24 PM
Hola, buenas. He estado buscando la manera de hacer un inventario en el cual se vayan ordenando los objetos conforme los "coges" o bien los "fabricas". Se que hay mil maneras de hacer inventarios, me he estado mirando el tema de los arreglos y listas, pero me falta base y me pierdo con facilidad. Me gustaría hacer un pequeño ejemplo, con digamos 4 slots me basta. Se que la pregunta es muy amplia y da como para un megatutorial, por el momento me bastaría con entender como puedo conseguir que detecte que un slot esta acupado por un objeto y que debe colocar el objeto en el siguiente. Como haríais el inventario, dibujando un sprite que sean 4 cuadrados, o usando un objeto que use ese sprite. Una vez dibujado el inventario, he conseguido que al fabricar, por ejemplo, un acha, se dibuje en el primer "slot" o recuadro, pero entiendo que no termino de ir por el camino correcto, creo que de esa manera game maker no sabe que el slot siguiente esta vacío. No se si me he explicado demasiado bien, en resumen, me gustaría hacer un inventario de 4 casillas en el que se coloquen los objetos en los huecos. (digo 4 huecos para simpificar una posible respuesta) Un saludo!
15
Preguntas y respuestas / Como crear una instancia con una tecla y destruirla con la misma? (SOLUCIONADO)
Abril 04, 2019, 11:10:33 PM
Hola buenas, llevo un buen rato dándole vueltas a como puedo hacer lo que pregunto en el título. Lo he intentdo con una variable del estilo "mostrar_inventario = false" y que al presionar la "i" fuera verdadero, pero no me sale. Entinedo que realmente al presionar la tecla estoy dandole una orden contradictoria supongo. Después lo he intentado así, pero vamos que creo que viene a ser lo mismo hehe. Como lo veis?
Código [Seleccionar]
if keyboard_check_pressed(ord("I")) and instance_exists(ob_inventario) = false{
instance_create_depth(room_width/2,room_height/2,-1,ob_inventario)
}
if keyboard_check_pressed(ord("I")) and instance_exists(ob_inventario){
instance_destroy(ob_inventario)
}
16
Preguntas y respuestas / No consigo saltar linea de texto! :GMS: (SOLUCIONADO)
Abril 02, 2019, 08:10:11 PM
:GMS:
Hola buenas! no consigo saltar una linea de texto de ninguna manera y no veo donde esta el fallo (me estoy volviendo loco eheh)
Evento Draw GUI
Se supone que poniendo una almohadilla tendría que saltar de linea, no? No se que estoy haciendo mal!
El texto me aparece así: esto es piedra#hola que ase
Hola buenas! no consigo saltar una linea de texto de ninguna manera y no veo donde esta el fallo (me estoy volviendo loco eheh)
Evento Draw GUI
Código [Seleccionar]
//DIBUJAR TEXTO DESCRIPTIVO DE PIEDRA
if mostrar_piedra == true{
draw_sprite(spr_info_piedra,0,95,31)
draw_text(95,31,"esto es piedra#hola que ase")
}
Se supone que poniendo una almohadilla tendría que saltar de linea, no? No se que estoy haciendo mal!
El texto me aparece así: esto es piedra#hola que ase
17
Preguntas y respuestas / No se ejecuta Game Maker Studio 2 en Windows 10 (SOLUCIONADO)
Abril 02, 2019, 12:20:26 AM
Hola, buenas. He formateado mi ordenador y al bajarme la version gratuita de la pagina de yoyogames la instalo, me aparece el icono de acceso directo en el escritorio pero no se ejecuta, doy doble clic y nada, lo ejecto como administrador y no responde a nada. Por que puede ser? Si miro en compatibilidad solo re da la opcion de poner compatibilidad con win7, 8 i no recuerdo que mas, pero no con windows 10. Puede que sea algun problema de compatibilidad.
Lo he instalado y desinstalado varias veces y nada
Lo he instalado y desinstalado varias veces y nada
18
Preguntas y respuestas / Como destruir una sola instancia de un objeto.
Marzo 19, 2019, 01:53:21 PM
Buenas! creo que es muy simple pero no consigo dar con la solución.
CREATE
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?
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?
19
Preguntas y respuestas / Como usar paths para hacer algo aleatorio?
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.
20
Preguntas y respuestas / Como ir perdiendo vida/hambre/energía
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
Evento step
Alarma[1]
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.
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.