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

856
Cita de: fabian en Enero 31, 2015, 11:27:04 AM
seria algo llamativo con los simbolos y logos de la comunidad que son como una cruz y unos puntos

No lo sé, pero me parece que la cruz y los puntos simulan ser un control de videojuegos (la cruzeta y los botones), o eso creo, aunque a mi siempre me han parecido botones (de ropa).  Yo siempre he pensado que los juegos comunitarios deberían ser de al menos 4 gentes, pero espero que saquen el juego quienes se junten. Lo que sí me gustaría ver de nuevo es el concurso anual de videojuegos (más que la guerra de IA's), creo que el último que hubo se celebró en el 2012  :'(
857
No he hecho la prueba, pero apostaría a que el sprite animado consume por si solo más memoria que tener un objeto adicional (sin sprite), es decir, pienso que el ahorro de memoria es despreciable.

Para evitar que DRAW dibuje el mismo frame en todos los pasos, se debe usar una variable extra para indicar la subimagen que se debe mostrar. Algo como:

CREATE[gml]
frame = 0
alarm[11] = 8[/gml]

Luego, para aumentar frame cada cierto tiempo se puede usar una alarma o un contador adicional
ALARM[11]
[gml]
if (frame > fmax)
        frame = 0         //Reiniciar/ciclar la animación

if (animacion)
{
     frame += 1       //Pasar al siguiente frame
     alarm[11] = 8
}
[/gml]

DRAW
[gml]draw_sprite(spr_mi_sprite, frame, 100, 100)[/gml]


"fmax" sería una variable que indica el numero de frames del sprite. La variable "animacion" se pondría en 1 cuando se quisiera reproducir la animación, y en 0 para detenerla (mostrar la misma subimagen siempre). Un inconveniente es que si la animación se detiene y más tarde se quiere volver a reproducir habrá que volver a arrancar la alarma.
858
Cita de: arcangelcaos en Enero 30, 2015, 11:35:29 PM
Vale, pero algo no me cuadra entonces, porque yo modifico mucho esos archivos ini y txt para ir añadiendo cosas en funciones del desarrollo del juego. Y todos estos cambios si los pone, es como si los volviera a cargar.

No entiendo cuál es el problema. Hiciste que GM guardara una variable en el ini, una variable que no estaba en el ini original, y GM guardó la variable y guardó los cambios en el ini de la zona de escritura. ¿quieres borrar la variable? borra el ini o si no quieres perder los demás valores del ini, borra el valor de la variable en el evento game end.

Tengo curiosidad
Cita de: arcangelcaos en Enero 30, 2015, 11:08:22 PM
como hago que se borre cada vez que pruebe el juego?
¿Por qué guardar algo en un ini si se quiere que ese algo se borre cada vez que abres el juego? Se supone que los inis precisamente se usan para conservar datos entre partidas, pero si quieres borrar algo al salir o al iniciar, no tiene caso guardar ese valor en un ini, ya que ese es el comportamiento normal de GM, los datos sólo se mantienen el tiempo que el juego esté en ejecución.
859
El ini existe. Cuando agregas un archivo a included files en GM, ese archivo NUNCA se toca, es decir, jamás se escribe en él. Lo que hace GM es copiar ese archivo a la zona de escritura definida para el sistema, esa es la copia donde se guardan los cambios. Esa es la copia que tiene una variable o valor que el ini del árbol de recursos no tiene.

Puedes borrar el INI de la zona de escritura usando la funcion file_delete(), lo que haría que a la próxima vez, GM se vea forzado a "mirar" en el ini original.
861
Una variable sólo puede contener un valor/dato. Para guardar muchos valores distintos, se debería usar una estructura como arreglos o listas o mapas, etc.

Yo usaría ciclos para no escribir 15 veces instance_create, pero la opción que dio omick es válida.
862
Preguntas y respuestas / Re:Background borroso
Enero 30, 2015, 09:37:18 PM
Probablemente. El tamaño máximo de una página de textura creo que es 8192, y si el fondo es mayor a eso, GM va a forzar a que el fondo "quepa" en esos límites, es decir, lo va a reescalar, y creo que eso provocaría que se vea brorroso.

Prueba a desmarcar la casilla "Stretch" en la pestaña "Background" del editor de rooms. O quizás puedes usar la opción "use as tileset" en las propiedades del fondo, para dividir el fondo en tiles más pequeños y "armar" el fondo manualmente en el editor de rooms. Y si nada de lo anterior funciona, me imagino que deberías reducir el tamaño del fondo para que quepa en la página de textura.
863
Preguntas y respuestas / Re:explocion random
Enero 30, 2015, 09:27:10 PM
Puede ser más o menos así:
[gml]
arreglo_objetos[0] = obj_true1
arreglo_objetos[1] = obj_true2
arreglo_objetos[2] = obj_true3

randomize()
with(arreglo_objetos[choose(0, 1, 2)]
{
    //crear la explosión
}
[/gml]

o sin arreglo:
[gml]
randomize()
with( choose(obj_true1, obj_true2, obj_true3) )
{
    //crear la explosión
}
[/gml]
864
Preguntas y respuestas / Re:Problema android sprites
Enero 30, 2015, 04:11:40 AM
¿Usar la brocha mágica? (Clear Project Asset Compile Cache)
865
Preguntas y respuestas / Re:Duda usando arrays
Enero 29, 2015, 11:30:58 PM
Es más fácil con arrays, creo yo. Las listas en principio son unidimensionales, y el vector que presentas tiene dos dimensiones, aunque se puede hacer una lista de listas, simulando 2 dimensiones, pero creo que es más tedioso.

El arreglo se dibujaría usando ciclos anidados, por ejemplo for. Un ciclo recorre las columnas y otro recorre los renglones. EN tu caso, son tres renglones y 5 columnas. El ciclo externo comenzaría en el renglón 0 (i = 0), por ejemplo, y el ciclo interno recorre las columnas (j = 0, 1, 2, 3 , 4). Al terminar o llegar a la 4 columna se terminan las iteraciones del ciclo interno y se completa la primera iteración del ciclo externo, entonces aumenta en 1 la variable i del ciclo externo, lo que hace que se pase al segundo renglón, y vuelven a comenzar las iteraciones del ciclo interno (j  = 0, 1, 2, 3 , 4) para ir avanzando por las columnas.
866
Extraño, debería funcionar. Sugeriría usar el debugger para estar seguro que se ejecutan los comandos que leen/escriben el ini. En lugar de usar el evento game end para guardar, en el ini, provisionalmente usa alguna alarma cada 20 o 30 segundos, para ver si ahí guarda (o cambia de objeto, en lugar del objeto sistema, que sea el objeto jugador el que guarde)
867
¿Ya probaste a usar el botón de cierre del juego (para que se lance el evento game end)?

¿Tienes agregado el archivo ini a la lista de included files?

¿el objeto obj_sistema está colocado en la habitación donde ocurre el juego?
868
Cita de: elmenda3 en Enero 29, 2015, 12:49:44 PM
pero al cerrar del todo el juego (por ejemplo con el task killer) y al volver a abrirlo los caramelos no están, y esto me pasa con varias cosas más como comprar un personaje, etc...

Cita de: elmenda3 en Enero 29, 2015, 08:59:24 PM
Luego tengo otro evento Game End  en el mismo objeto que escribe los valores de la variable de los caramelos en el archivo .ini. Además tengo un save game.

No estoy seguro, pero si estás usand el task killer, quizás el evento Game End no se ejecute, ya que a lo mejor el task killer cierra abruptamente GMS sin permitir que se ejecute el evento Game end (no lo he comprobado, es una suposición)

Siempre es mejor colocar el código cuando hay una falla, ya que el fallo precisamente o está en el código o en el evento en donde se haya colocado ese código
869
Preguntas y respuestas / Re:Acceso Denegado
Enero 29, 2015, 09:03:07 PM
Se supone que si vas a reinstalar, no solo debes desisntalar GMS, sino borrar la carpeta de GMS en los directorios %appdata y %localappdata y entradas de GMS en el registro de windows antes de reinstalar. No estoy seguro que esto solucione el fallo, pero esto es lo que recomienda la gente de YoYo (igual y ya lo hiciste)

Sobre el mensaje de gmail, a lo mejor te responden, a lo mejor no. Para reportar fallos, debes registrarte y enviar un ticket al helpdesk siguiendo la plantilla
http://help.yoyogames.com/home
870
Imagina que durante el juego, cambiaste la distribución de botones a tu gusto y esos cambios los guardaste en un INI. Hay juegos que permiten volver a la configuración por defecto, es decir, en tu caso, se volvería a cargar la distribución de botones original, sin reiniciar/escribir uno por uno los valores en el ini, bueno, al borrar el ini, eso pasa.