Mostrar Mensajes

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.

Mensajes - getnoff

61
Juegos completos / Re:Donkey Kond Redux
Abril 06, 2019, 04:20:13 AM
Me ha gustado, se ve bastante bien programado y adaptado, recomendado para los amantes de este clásico.

in english:
I like it, it looks well programmed and adapted, recommended for people that love this classic game.
62
Preguntas y respuestas / Re:Detectar Doble Click
Marzo 16, 2019, 06:39:09 AM
Una forma fácil es utilizar alarmas para dar un tiempo limitado para hacer dos o más clic, y una variable que cuente los clic que se han hecho durante ese período, por ejemplo:

evento create:
[gml]
contadorclic = 0;
[/gml]

evento step:
[gml]
if position_meeting(mouse_x,mouse_y,self)
{
    if mouse_check_button_pressed(mb_left)
    {
        alarm[0] = 8;
        contadorclic += 1; //se suma un clic al pulsar el ícono
    }
}
if contadorclic >= 2
{
    //aquí pones para que se abra el programa
}
[/gml]

evento alarm[0]
[gml]
contadorclic = 0; //se vuelven a borrar los clics tras 8 time steps
[/gml]
63
hmmm nunca he intentado usar randomize dentro de un choose pero no creo que sea correcto eso, probablemente el mismo randomize sea lo que genera ese valor aleatorio como una de las opciones del choose, ¿ya intentaste usar randomize fuera?

Evento Create:
randomize();
escenarios = choose(escenario1, escenario2 , escenario3, etc.)

recuerda que randomize lo que hace es cambiar la semilla de valores random generados, por lo que el que se ejecute una sola vez debería ser suficiente.
64
Juegos completos / Re:SpaceShift
Marzo 10, 2019, 11:54:02 AM
Ahora sí quedó muy bueno (Y)
65
Creo que es realmente imposible decir una cantidad de tiempo si no tenemos a disposición una demo completada por lo menos hasta el 50%, hace tiempo jugué tu primera demo que publicaste y siendo sincero ni me acuerdo cuanto tiempo me tomó =P
66
Juegos completos / Re:SpaceShift
Marzo 10, 2019, 11:10:09 AM
Está divertido, aunque es bien sencillo es muy bueno para pasar el rato.

Pero rápido encontré un gran problema, si se presiona para un lado y luego al otro lado antes de soltar el anterior, el player no se mueve hasta soltar la dirección y presionarla de nuevo. Eso es muy incómodo y complica mucho maniobrar en las partes difíciles.
Sólo ocurre con (izquierda-derecha) y (arriba-abajo), en diagonal no hay problemas.
Y por cierto estaría bueno un conteo de puntuación por los enemigos destruídos.
67
Con estas variables.
view_xview[0]
view_yview[0]

El 0 hace referencia al número de la view. Hay más variables para trabajar con las view, en los manuales puedes encontrar todas las que hay y para que sirven.

Y por cierto recuerda poner el ícono de la versión de game maker que usas cuando creas un tema.
68
Ahora sí creo que entiendo mejor el problema.

Necesitas una forma de detectar que el personaje está en estado de movimiento para que se active la animación de correr, hay varios métodos pero yo el que te recomiendo es que crees una variable que indique cuando nos estamos moviendo:

En el evento create del personaje crea una variable llamada moviendo
[gml]
moviendo = 0;
[/gml]

y en el evento step pones lo siguiente (hice un pequeño ejemplo):
[gml]
moviendo = 0; //por defecto no se está moviendo si no hay ninguna tecla presionada

//Direcciones de movimiento-------------------------
if keyboard_check(vk_left)
{
    x -=5;
    if keyboard_check(vk_shift)
    {
        x -=8;
    }
    moviendo = 1; //ahora sí se está moviendo
}
if keyboard_check(vk_right)
{
    x +=5;
    if keyboard_check(vk_shift)
    {
        x +=8;
    }
    moviendo = 1; //igual
}
if keyboard_check(vk_up)
{
    y -=5;
    if keyboard_check(vk_shift)
    {
        y -=8;
    }
    moviendo = 1; //igual
}
if keyboard_check(vk_down)
{
    y +=5;
    if keyboard_check(vk_shift)
    {
        y +=8;
    }
    moviendo = 1; //igual
}


//Animación al correr-------------------------------
if keyboard_check(vk_shift) and moviendo == 1 //si se presiona shift y está en estado moverse
{
    image_speed = 0.3;
}
else //sino
{
    image_speed = 0; //sprite quieto
    image_index = 0; //opcionalmente volverá al sprite 0 cuando pare la animación
}
[/gml]

Y por las dudas te adjunto el ejemplo que yo mismo hice aquí en el post para que veas como funciona.
69
Está algo confuso el planteo que haces con tu título y lo que describes.

Primero el evento nokey significa que se activará cuando no haya ninguna tecla pulsada, entonces lógicamente el personaje y su sprite no se detendrá hasta soltar shift (y cualquier otra), así que para estas cosas no es buena idea usar nokey.
¿Exactamente cómo deseas que funcione el correr del personaje? porque en general siempre queremos que siga moviéndose mientras tenemos presionada la tecla para andar. No me queda claro cual es la circunstancia que buscas para que deje de moverse ¿choca contra una pared? ¿tienes que presionar hacia una dirección para que corra hacia allí? ¿quieres que se mueva 4 pixeles hacia abajo sólo una vez, hasta volver a presionar shift?
70
Realmente no es posible que la calidad no disminuya, porque al igual que una imagen hecha a pixeles, al cambiar de resolución se verá un poco peor.
71
Oye que gran juego, me entretuve un buen rato con él (gracias por crearlo me encantan los fangames).

- Buen contenido y abundante en cuanto a menús y sprites de todo (efectos y enemigos), se ve bastante completo y se nota que está hecho con esfuerzo.
- Me encanta que tenga los temas musicales de DBZ, hace que se sienta que estamos dentro del universo de los saiyajin.
- La dificultad es muy buena.
- Me agrada la preocupación de que pusiste una opción para desactivar efectos que ciertas PC no soportan, mientras mayor multicompatibilidad mucho mejor.

Ahora algunas sugerencias:

- Si presionamos seguidamente la tecla C, se escucha el grito de Vegeta montones de veces a la vez, sugiero que uses sound_stop para detener el sonido anterior cuando presionamos C de nuevo.
- El juego toma su tiempo para ejecutarse, y viendo el admin de tareas noto que tarda en reunir toda la memoria que necesita, en estos casos conviene no cargar tantos gráficos y sonidos de golpe, sino de a poco y de ser posible dejar las pistas de música fuera del exe.
- Me gustaría que se pudiera poner el juego a modo ventana también.
72
Para la comprobación se me ocurre esta idea, crea una lista que vaya guardando los valores que se van generando, entonces en tu algoritmo comprueba si el actual valor generado se encuentra dentro de esa lista, de esa forma si ese nuevo está repetido, que vuelva a generar otro hasta que sea distinto.
El como implementar esto, depende de como sea tu código generador de números. En todo caso es mejor ir comprobando cada valor que no se esté repitiendo antes de que ya se hayan creado todos.
73
Para evitar el problema de la persistencia, puedes usar variables globales, estas mantienen su valor sin importar si cambias de room o destruyes el objeto donde se crea, se declara así:
global.nombrevariable = valor;

Nunca he trabajado con rooms persistentes, pero según he leído conviene evitar usarlos porque causan efectos secundarios negativos. Usando las variables globales y las listas no debería hacer falta usar archivos ini.
74
Para organizar los combates de forma aleatoria y sin que se repitan, lo mejor es usando una lista y luego desordenarla, y después ir borrando los valores que se hayan usado. Mira este post:
https://www.comunidadgm.org/preguntas-y-respuestas/duda-code-random/

Eso es lo que entendí ¿era eso?
75
Me suena mucho a problemas de las áreas de colisión que tiene los sprites de Mario, revisa que todas sus cajas sean cuadradas, si ese es el problema este video podría ayudarte:
https://www.youtube.com/watch?v=y6Fg46uvzQ8

sino pues toca que muestres el código que usas para moverse y todo lo que sea necesario.