Noticias

¡Ayuda a la Comunidad GM, haz una donación!

* Sponsor

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 - Marth

Páginas: 1 2 3
1
Preguntas y respuestas / Re:Filtrar contenido de un script
« en: Enero 21, 2021, 06:29:31 am »
Por defecto ctrl+shift+f abre la ventana de búsqueda y remplazo global, y ctrl+f abre la ventana de búsqueda y remplazo local cuando estas en una ventana de código, la ventana de remplazo local no crea una lista de las coincidencias encontradas, y solo busca en la ventana actual. No existe actualmente una manera de limitar una búsqueda a todo el código de un solo objeto pero la lista de coincidencias de la búsqueda global aparece en orden de manera que todas las coincidencias de un objeto apareceran una tras otra.

2
Preguntas y respuestas / Re:Acceso a datos de objetos inactivos
« en: Diciembre 11, 2020, 07:49:26 pm »
Tube que recurrir al manual y estas indicaciones encontré:

1)   Tenga en cuenta también que la activación y desactivación no son instantáneas,
2)   Una instancia desactivada efectivamente deja de existir en el juego, pero las instancias individuales aún pueden tener acceso a sus variables.
3)   Sin embargo, no puede usar con (objeto) o con (instancia) , sino que debe acceder a la instancia directamente usando su identificación única en la siguiente forma
val = inst.variable;
Ejemplo
val=object1.variable;
4)   NOTA: Si desactiva una instancia al iniciar la sala (es decir, desde el código de creación de la sala o desde un evento de creación de instancia de una instancia dentro de la sala), todas las instancias que se colocan dentro de la sala desde el editor de sala seguirán ejecutando su evento de creación antes de ser desactivado.

Opiniones:
Creo que el problema no es obtener la variable del objeto inactivo, el problema es obtener su id.
Lo que se puede hacer para obtener el id de las instancias inactivas es crear una lista que contenga todas las id con sus respectivas posiciones (x,y) de las instancias. Para luego evaluar si la distancia a algún objeto coincide con las posiciones y si se devuelve o no el id. Es decir, buscaremos un punto en el plano donde se encuentre la instancia, pero este punto será previamente almacenado en una lista. Ahora bien el objeto inactivo, luego de seguro volverá a activarse y su posición tendrá que actualizarse en la lista para que cuando se vuelva a desactivar se pueda acceder a él.

Hice una prueba pequeña  pero sin la dslits,
El objeto inactivo tiene en su evento créate:

aleatorio=random(10)
global.id_inactivo=id

El objeto que desactiva instancias ejecutó:
instance_deactivate_object(object1)

Luego este objeto solicitó la variable de la instancia inactiva de esta forma:
inst=global.id_inactivo
numero=inst.aleatorio;

Luego la instancia inactiva, volvió a activarse y el valor de la variable aleatoria era el mismo, confirmando de que no se vuelve a ejecutar el evento create.

Este experimento funcionó correctamente, ahora solo quedaría utilizar las dslist para administrar a un número x de instancias.

Nota extra: nunca he usado la desactivación de instancias pero siempre la he necesitado y de ahora en adelante creo que la voy a usar. Antes, cuando el objeto salía de la view lo que hacía eliminarlo y luego creaba otro que servía de guía.

 :-[

3
Preguntas y respuestas / Re:Simbolos de orden numerico.
« en: Noviembre 23, 2020, 01:10:37 am »
Hola Marth

Eso no es posible.
La diferencia es que 'º' y 'ª' no son superíndices como tal, sino que son carácteres como cualquier otra letra, la diferencia es que cuyo dibujo sólo ocupa la parte de arriba del espacio disponible y da la sensación de que son superíndices.

Puedes crear tu propia fuente a partir de un sprite y usar como "er" algún caracter que no ocupes, así sólo tienes que dibujar "er" en alguna subimagen de la fuente y ya la puedes usar como caracter.
O algo más complejo podría ser dibujar la palabra "er" con una fuente más pequeña justo después de tu texto original y así dar la sensación de que es un súper índice.

Saludos

4
Preguntas y respuestas / Re:Como centrar funciones de dibujo
« en: Mayo 25, 2020, 05:59:10 am »
Usa un script que dibuje un rectángulo centrado. Algo como esto
var xc = argument0;
var yc = argument1;
var w2 = argument2 / 2; //anchura
var wh = argument3 / 2; //altura
draw_rectangle(xc - w2, yc - h2, xc + w2, yc + w2);

5
Preguntas y respuestas / Re:Como centrar funciones de dibujo
« en: Mayo 25, 2020, 01:03:07 am »
necesitarás tener una variable que cambies al mismo tiempo que cambias el halign.. no existe algo como "draw_get_halign" por ejemplo, ya de ahí condicionas xd

6
Este ejemplo esta en la documentacion de la funcion instance_find y dice que recorre todas las instancias de un mismo objeto.
var i;
for (i = 0; i < instance_number(obj_Enemy); i += 1){
   enemy[i] = instance_find(obj_Enemy,i);
}

7
Preguntas y respuestas / Re:Comprarse una licencia para Android
« en: Febrero 26, 2020, 07:27:49 pm »
solo te queda comprarla por steam, si todavia se puede intalar en 3 ordenadores como el 1.4, puedes comprarla con 2 amigos mas y dividirse el precio fingiendo que son un grupo de desarrollo  8)

8
Guerra de IAs (GIA) / Re:¡GIA_01+ comenzó!
« en: Enero 23, 2020, 01:33:45 am »
Menos de la mitad de participantes enviaron una nueva versión para esta ronda, y considerando las sugerencias previas de ampliar la fecha límite junto con que algunos aún tienen en mente en seguir desarrollando sus IAs, se extendió el día de entrega límite a el:

5 de Febrero de 2020 a las 12:00pm (GMT-6)

A partir de ese momento, y si llegase a realizarse otra ronda, será cada 2 semanas.

9
Guerra de IAs (GIA) / Re:¡GIA_01+ ha comenzado!
« en: Enero 12, 2020, 08:03:37 pm »
En todas las GIAs eso se ha hecho; se liberaron los códigos de las IAs al terminar el evento.

10
Juegos completos / Re:Rescate de Navidad [Concurso de Navidad 2019]
« en: Diciembre 14, 2019, 07:53:51 pm »
Primero lo primero. Creo que por respeto deberías poner el nombre de tus dos compañeros en la misma portada inicial donde pone "Producciones Marte".
Bah, no sé, a mi me dá la impresion que queda medio egoista darte una portada entera a vos mismo y a los demás ponerlos abajito sin más.

De ahí, graficamente está bien pero, el gran pero es que me pareció el juego en sí conceptualmente injustificado por todos lados.
Osea, es un juego de navidad, porqué hay vikingos y torretas que disparan, coexistiendo en un mismo universo. Que bueno... es navidad. Osea, ninguna de las cosas tiene correlacion entre si XD y ni hablemos del loco que camina por el aire.  De última tematizalo, ponele bastones de caramelo en vez de torres grises con manivelas.
Y la copa, por que una copa? Hay que rescatar a papanoel o coleccionar copas? ponele otra cosa, no sé, pedacitos de mapa que te lleven a la guarida del malo que tiene encerrado a papanoel.
Y bue, cuando caminás y saltas a la vez, la animación parpadea raro.

Un agujero argumental que me pareció raro es, si Romy tiene un baston que lo hace volar... porque se cansa romi, si es el bastón es  quien vuela? xd

La musica está bien, no sé si pusiste los creditos del compositor en algun lado.

Y el gameplay... el gameplay, en lo personal no me gustó. Se siente entrecortado, como el super valis de la NES, te quedás quieto esperando a que se termine la animacion, no se puede atacar en el aire. Lo cual es una limitante. El uso de energía por otro lado lo considero otra limitante.
El cronometro también me parecio injustificado, osea, si la situacion hubiera sido distinta como: "tienes 8 minutos para rescatar a papanoel antes de que muera quemado".
Para atacar la animacion tarda como medio segundo o casi uno. La verdad, esto es lo que menos me gustó. Se siente como jugar en una consola china de esas que tiene input lag.

Esperaba más del juego la verdad, que queres que te diga, perdon. Pero tanto tiempo para hacer algo con un equipo, me parece injustificable.
Haha y yo que solo le hiba a poner a mis personajes gorros navideños, disculpa Black_Cat pero tu eres juez de este concurso? marth puede subir lo que quiera las reglas lo permiten

11
Preguntas y respuestas / Re:Duda con los audio emitters
« en: Noviembre 11, 2019, 04:10:51 pm »
Para eliminar todos de golpe necesitas hacer tu script personalizado para borrar todos y cada uno de los emisores creados. Los cuales, antes debieran listarse dentro de, valga la redundancia, una lista. Esto para tener el registro de todos los emisores que se hayan creado.
Lo más práctico es utilizar las ds_list, porque crecen automáticamente, y se puede utilizar para recorrer enteramente la lista.

Primero deberías crear un script, que haga 2 cosas:
1) crear la lista si no existe.
2) crear un emisor y guardarlo en la lista.
3) devolver el emisor creado.
Puedes llamarlo simplemente crear_emisor_de_sonido();
Lo ideal sería crear una variable global antes para que obtenga el ID de la ds_list, dentro del script:
Luego, operas normalmente:
ae=crear_emisor_de_sonido()
audio_emitter_position(ae,x,y,0)

o:
audio_play_sound_on(ae,explota,0,1)

Luego creas el escript para borrar todos los emisores, el cual debería trabajar así:
1) recorrer la lista
2) obtener cada emisor y borrarlo
Lo cual puedes llamarlo borrar_todos_los_emisores();

Y finalmente deberías borrar la lista como tal, cuando ya no hagan falta emisores en tu juego:
ds_list_destroy(global.laListaDeEmisores )

12
Preguntas y respuestas / Re:Canciones aleatorias
« en: Octubre 21, 2019, 08:24:13 pm »
Hola,

Tu código es muy bueno, y cumple su función pues detecta cuando la música ha terminado y reproduce otra al azar. Ahora bien si lo que quieres es experimentar con la duración de cada musica para crear una alarma pues necesitarías:

audio_sound_length(index): Esta función devolverá la duración del sonido dado en segundos.

Luego tendrías que calcular la alarma correcta con:

Código: [Seleccionar]
alarm[0]=audio_sound_length(index)/fps
Ahora bien, la alarma internamente se evalua por cada paso por segundo para verificar si ha terminado o no por lo tanto no hemos solucionado el problema pues lo que queríamos era ahorrarnos unos códigos por segundo. Se puede concluir que el código que muestras al principio es el más optimo.

El código entregado es experimental porfavor mostrar resultados de su ejecución.

13
Según entiendo quieres pasar un vector con cierta magnitud en una dirección dada.
Para ello cuentas con la función:
lengthdir_x(largo, direccion);
Eso devolvería la componente horizontal de un vector dado por dirección con magnitud largo.
Y similar, tienes:
lengthdir_y(...)
Para la componente vertical.

Saludos! :)

14
Preguntas y respuestas / Re:Salto de línea al usar file_text_write_string
« en: Septiembre 09, 2019, 12:05:19 am »
He encontrado una solución provisional.
Este es el código cuando cargue del fichero el nombre de las unidades:
nombre=string_replace_all(file_text_read_string(global.j)," ","")
Esto elimina de la cadena el espacio (" ") que aparece al principio.
Es una chapuza, pero he hecho unas pocas pruebas y ya no me aparece el error, por lo que con esto se ha solucionado mi problema.
También podrías hacer algo así:
nombre = string_delete( file_text_read_string(global.j), 1, 1 );
Para eliminar solamente el primer caracter de la cadena.

15
Preguntas y respuestas / Re:Salto de línea al usar file_text_write_string
« en: Septiembre 08, 2019, 09:50:13 pm »
¿Cómo cargas los datos? De primera mano se me ocurre que al momento de cargar la variable nombre estás trayendo también el espacio que está antes, y que es por eso que se van acumulando por cada guardado.

Páginas: 1 2 3