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

871
Preguntas y respuestas / Re:Duda dll
Enero 29, 2015, 09:20:53 AM
No, no es normal. Yo probé a arrastra el archivo gml del explorador al árbol de recursos de GMS y me cargó todo sin problemas. No he usado esa dll, trae muchas funciones adicionales relacionadas con manejo de mod. A lo mejor se te hace más fácil usar Saudio u otra.

Ah, lo primero siempre que trabajes con dll es usar la función que inicializa la dll en algún evento CREATE o room start. Casi siempre termina con "init". en el caso de la dll de arriba, es  sxwamp_init(); Si no se inicializa la dll, al usar las otras funciones de la dll GM da error
872
Preguntas y respuestas / Re:Consulta sobre juego
Enero 28, 2015, 10:45:37 PM
Me parece que no se pueden patentar mecánicas de videojuegos, por lo que puedes hacer un clon del buscaminas o un juego basado en la mecánica pero con variaciones. No tengo idea si el nombre "Buscaminas" o "Minesweeper" esté registrado, en ese caso no debes usar el mismo nombre porque seguramente el juego sería retirado.
873
Preguntas y respuestas / Re:Duda dll
Enero 28, 2015, 10:13:20 PM
Aquí una dll que al parecer acepta midi

http://gmc.yoyogames.com/?showtopic=166056
Los links en la primera página están caídos, pero en la última hay una respuesta donde dan enlaces válidos.

El (o los) archivos dll se agrega a Included files en GMS. El arvhivo gml se debe cargar en GMS, porque ahí es donde se definen las llamadas a la dll desde GM. Los ejemplos en GM5, 6,7,8 valen, porque la dll y sus funciones son independientes del sistema de audio nativo GMS.
874
Juegos en desarrollo / Re:LeBomb! (windows)
Enero 28, 2015, 05:12:52 AM
No sé si sea mi conexión, pero no puedo ver las imágenes
875
Cita de: desplo en Enero 27, 2015, 10:08:02 PM
Cita de: Clamud en Enero 27, 2015, 07:06:41 PM
Como en el archivo adjunto.
Hay alguna forma de que no muestre el ''.00''?

osea que solo se muestre 1,000

En lugar de un 2, en el segundo argumento del script pones un 0.
876
Cita de: arcangelcaos en Enero 26, 2015, 10:03:49 PM
He probado con hspeed < 0  o hspeed > 0, en e evento step, pero nada, siempre me devuelve 0, comprobado. He probado con direction, pero no me detecta cuando esta parado.

Cuando mencioné lo de las funciones propias de los path, no me refería a cómo construíste el path, que se supone que funciona, sino a que cuando el objeto se mueve siguiendo path, no tiene hspeed, me imagino que por eso siempre te devuelve 0. Para saber hacia dónde se mueve o si se está quieto, se puede preguntar el signo o valor de path_speed
877
Preguntas y respuestas / Re:Hola, ¿Como saltar?
Enero 26, 2015, 10:14:45 PM
Deberías indicar el código que utilizas para saltar. uno de los problemas es que te está faltando agregar condiciones para que salte solo una vez, y si cae lento, la gravedad se debe incrementar ligeramente. lo de que no puedes avanzar, quizás sea por cómo estás manejando la colisión con el suelo, pero así sin ver código, no se puede saber con exactitud.
878
Es porque debes usar las funciones path, por ejemplo, path_position, path speed, el evento END OF PATH, etc.

http://docs.yoyogames.com/source/dadiospice/002_reference/paths/index.html
879
Creo que debes postear cada duda por separado, para evitar enredos en los hilos/temas.

1) Esa manera de manejar sprites a mi se me hace mas enredada. Sin duda que se puede, pero yo preferiría usar un sprite distinto por cada acción/animación, porque es más intuitivo manejar variables que representen estados con su respectivo sprite. Hay acciones en las que sólo es necesario definir el sprite_index y la velocidad image_speed y ya, pero al tener distintas animaciones  en un solo sprite, controlarlas se  vuelve más tedioso. Por ejemplo, para comenzar la animación saltándo hasta la tercer subimagen:
[gml]
if (correr == true)
{
     sprite_index = spr_general
     image_index = 2
     image_speed = 0.4
}[/gml]

pero si manejas el código en step, entonces no va a funcionar, porque en cada paso, image_index se pone en 2, y la animación no correrá, entonces hay que recurrir a ifs adicionales y/o variables adicionales y/o eventos adicionales y/o alarmas adicionales para controlar la animación. Y entre más animaciones/acciones distintas tenga el sprite, más difícil mantener el código... la verdad prefiero manejar sprites por separado ya que el único "beneficio" que le veo a juntar animaciones es que el árbol de recursos es más fácil de navegar, pero al menos en mi caso, es mucho mayor el tiempo que me paso viendo código que navegando la carpeta de sprites.

En el caso de que controlar de la imagen 3 a la 7, sería algo así, pero la verdad hay el código cambia ligeramente según cómo se maneje la condición (o múltiples condiciones)[gml]
if (correr == true)
{
     sprite_index = spr_general
     image_index = 2
     image_speed = 0.4
     correr = 0                    //evitar que la animación se estanque
}
if (sprite_index == spr_general) and (image_index > 6)
{
    //cambiar estado del jugador a otra accion, probablemente haya que leer el teclado/mouse/joystick y ajustar variables para saber a qué acción cambiar
}
[/gml]

Es un ejemplo sólo para mostrar que es más enredado, sin mencionar que tal como lo puse no es recomendable, porque para evitar que la animación se estanque, correr se pone en 0, pero (sobre todo si se usan estados basados en variables) esto es poco congruente ya que la animación (de la 3 a la 7) está activa, por lo que correr debería seguir siendo 1/true y ponerse en 0 sólo cuando se salga de ese rango.

Otra opción sería  (para correr, por ejemplo)

LEFT KEY PRESS
[gml]
if (spsrite_index == spr_general)
{
     if (image_index < 2) or (image_index > 6)
     {
            image_index == 2                            //Si la animación actual no es correr, cambiar a correr (inicio)
            correr = true
            image_speed = 0.4
     }     
}
[/gml]

STEP
[gml]
if (spsrite_index == spr_general) and (correr == true) and (image_index > 6)
{
     correr = false
    //leer el teclado/mouse/joystick y ajustar variables para saber a qué acción cambiar, cambiar además al frame adecuado en el sprite general
}
[/gml]
??? Definitivamente yo prefiero lidiar con 4 sprites por separado.
880
Preguntas y respuestas / Re:Duda actualizar y saves
Enero 25, 2015, 08:39:30 PM
Cita de: arcangelcaos en Enero 25, 2015, 11:43:36 AM
Cuando hagas actualizaciones, los archivos ini y texto se me sobreescriben.
¿Estas seguro que eso pasa? Yo creo que no es necesario hacer nada ni meter código nuevo. El funcionamiento basado en sandbox de GMS hace que se conserve el INI más recientemente modificado en ese sandbox, aunque se incluya uno "nuevo" en la lista included file, o al menos eso es lo que yo espero que pase, según lo que menciona el manual sobre el sistema de archivos en GMS.
881
No creo que haya solución, al menos dentro de las funciones nativas de game maker.  Hasta donde sé, las funciones de dibujo de GMS no usan antialiasing, por lo que siempre que se usen aparecerán bordes dentados, sin importar si la figura es grande o pequeña.
882
Preguntas y respuestas / Re:problema con agacharse
Enero 24, 2015, 08:02:19 AM
Sabía que esa iba a ser la próxima pregunta. Para solucionar eso, en STEP agrega esto

[gml]if (sprite_index == spr_agachado_derecha) and (image_index >= image_number - 1)
     image_speed = 0[/gml]
883
Preguntas y respuestas / Re:problema con agacharse
Enero 24, 2015, 07:33:14 AM
Cita de: newfagnewfag en Enero 24, 2015, 07:08:51 AM
ok, se le cambie a 0 y el personaje se queda quieto  :-\
Como el código está en STEP, NO SE DEBE especificar ninguna subimagen en particular, sino darle simplemente velocidad a la animación. Para asegurar que la animación siempre comience en la subimagen 0, en el evento de tecla DOWN PRESSED se puede poner
[gml]image_index = 0[/gml]
que es el evento correcto para especificar un valor individual de subimagen, porque a diferencia de STEP, sólo se ejecuta una vez al presionar la tecla

En síntesis:

[STEP][gml]
if keyboard_check(vk_down) and sprite_index != spr_agachado_derecha
{
     sprite_index = spr_agachado_derecha
     image_speed = 0.4
}[/gml]

[Evento Tecla DOWN PRESS]
[gml]
image_index = 0
[/gml]
884
Preguntas y respuestas / Re:problema con agacharse
Enero 24, 2015, 07:01:20 AM
Cita de: newfagnewfag en Enero 24, 2015, 06:04:39 AM
tengo otro problema hice que el personaje se agachara pero no hace la animacion completa pasa de parado a agachado ocupando solamente el ultimo sprite se ¨spr_agachado¨
No hace la animación porque eso lo que le estás indicando:

image_index = 4
En lugar de que la animación comience en la subimagen 0, luego avance a 1, 2, 3, etc, tú le estás indicando que en cuanto se presione la tecla de flecha abajo, cambie inmediatamente a la subimagen 4, por eso no se muestra la animación como debe ser.
885
Cuando se desactivan instancias, esas instancias INEVITABLEMENTE van a perder visibilidad, esa es una de las consecuencias de desactivar instancias. Si quieres que en el juego parezca que todo se congeló, es porque antes de desactivar las instancias, se toma una captura de la escena, lo que da la impresión de pausa, pero en realidad las instancias están desactivadas y por lo tanto sin visibilidad (excepto una, que es el objeto que controla la pausa y muestra la captura de la escena)