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

1381
Preguntas y respuestas / Re:Problema con animación
Julio 21, 2014, 09:12:53 PM
Cita de: GamesFM en Julio 21, 2014, 05:47:04 PM
:'( ¿Alguién sabe por qué sucede esto o como solucionarlo?
Eso sucede porque GM es obediente y hace exactamente lo que le indicas que haga

Si se pulsa izquierda
    //mueve jugador a la izquierda

Si se pulsa derecha
   //mueve jugador a la derecha


Lo que se le debería indicar para evitar el comportamiento que reportas:

Si se pulsa izquierda y no se pulsa derecha
    //mueve jugador a la izquierda

Si se pulsa derecha y no se pulsa izquierda
   //mueve jugador a la derecha
1382
Cita de: LowHertzs en Julio 21, 2014, 01:50:22 PM
El problema es que está desactualizada, no se apenas como se usa, y no sé si me valdrá con la última versión de Game Maker Studio.

Para aprender GML no se necesita una aplicación así. Fíjate que estás pensando en aprender GML pero quieres hacerlo partiendo del D&D (por eso la petición de una aplicación similar a GML buddy). Sigo insistiendo en que al final no tiene mucho caso saber D&D y es mejor empezar con GML.

Y como dijo arcanite24,  hay algo mejor que GML Buddy: el manual de GM:S. El 99% de las dudas que te puedan surgir acerca del GML, ahí se aclara.
1383
Preguntas y respuestas / Re:TextBox y VirtualKey
Julio 20, 2014, 08:49:01 PM
Usando los de GM:S sería:
[CREATE]
mensaje = -1
nombre = ""

Tienes que decidir cuándo llamar a la función que lee la entrada de usuario, puede ser en un evento de click, por ejemplo al pulsar un objeto obj_boton_login. En dicho evento se llamaría a la función:
mensaje = get_string_async("Introduce el nombre de usuario", "");
el segundo argumento es el nombre que por defecto aparece con el cuadro de diálogo, en este caso, una cadena vacía

Por último, hay que manejar el texto introducido, para eso tienes que usar un evento asíncrono de diálogo:

En el cual:
var i_d = ds_map_find_value(async_load, "id");
if i_d == mensaje
{
    if ds_map_find_value(async_load, "status")                  //Si se presionó "OK" status = 1 (true)
    {
           if ds_map_find_value(async_load, "result") != ""     // Si no se introdujo una cadena vacía
           {
                 nombre = ds_map_find_value(async_load, "result");  //Guardar el texto introducido en la variable nombre
           }
    }
}

Obviamente que después tendrías que comprobar (probablemente en [STEP]) que nombre no contuviera una cadena vacía y de ser así, guardar el nombre en el archivo de texto. En este ejemplo usé la función get_string_async(), la verdad no he usado nunca get_login_async, pero en el manual se incluye un ejemplo del uso.

async_load es una variable de GM:S que apunta a un mapa que contiene distintos pares clave-valor con el resultado de la función asíncrona. Esta variable sólo se puede manejar dentro del evento asíncrono, nunca fuera de él (creo que el mapa se destruye automáticamente al terminar dicho evento). El manual explica qué valores contiene async_load según la función asíncrona que se use.


1384
Create a Bluetooth socket (currently unavailable!). Es decir: NO.

Según el manual, lo único que se puede de momento es conectar mandos en Android mediante bluetooth

•Android export supports NYKO controllers and generic Bluetooth controllers (including the OUYA), but only when they are enabled, meaning that you will have to tick the iCade/Bluetooth option in the Android Tab of the Global Game Settings. They require API level 12 for them to work fully and it should be noted that GameMaker: Studio will register as connected any Bluetooth devices that your device is paired with, whether or not it's actually connected. Therefore this should be taken into account when assigning and checking "slots".

1385
Preguntas y respuestas / Re:Sonido
Julio 20, 2014, 08:09:34 PM
Esas son funciones heredadas, léase viejas para dar soporte a versiones anteriores de GM. Prueba a usar las nuevas funciones de audio (necesitas activar el nuevo sistema de audio en los ajustes globales del juego, pero si ya está activo, puede que esa sea la razón por la que la función sound_volume() no funciona). La nueva función para ajustar el volumen es

audio_sound_gain(index, volume, time);

http://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/sounds/index.html
1386
randomize() antes de usar cualquier función random
1387
Lo que pasa es que  dispara.image_angle = cannonRot1  está dentro del if que revisa si se está cerca del jugador. Ese código para girar la torreta debe ir fuera de los if para que el tanque rote la torreta constantemente, no sólo cuando esté cerca del objetivo
1388
Preguntas y respuestas / Re:TextBox y VirtualKey
Julio 19, 2014, 10:29:27 PM
¿Tus textbox los quieres hacer personalizados o te valdrían los del GM:S? Saludos y no desesperes

1389
Bueno, al final es lo mismo, lo que se guarda en los INIs, casi siempre es una variable de GM, ya sea predefinida como score, hspeed o de usuario. La única diferencia es que para guardar la mayor puntuación hay que preguntar antes si la puntuación actual es mayor que la guardada en el ini, pero el guardado es exactamente lo mismo

Una cosa que no es trivial es decidir en qué momento/evento quieres guardar la variable. Se puede en STEP, pero si no se hace bien, puede haber problemas que se reflejaría en ralentizaciones o fugas de memoria o cosas parecidas

Probablemente sea mejor usar CREATE o algún ROOM START o GAME START o GAME END para guardar la variable, eso depende de qué quieras hacer. Ojo que si eliges CREATE, y antes de crear la variable la intentas guardar, pues va a saltar un error. Y sobre el guardado, pues es lo mismo de siempre, pero sin IF, suponiendo que el ini sea
[JUEGO]
dato1 = 0


Para guardar la variable mi_variable_de_GM en el ini:

ini_open( 'datos.ini' );
ini_write_real( 'JUEGO', 'dato1', mi_variable_de_GM);
ini_close();
1390
Preguntas y respuestas / Re:TextBox y VirtualKey
Julio 19, 2014, 10:05:01 PM
Cita de: vronik en Julio 19, 2014, 03:45:25 PM
Lo he resuelto un poco también añadiendo un evento por cada uno de ellos, press left, right, up y down, mas space para un botón de terminar el juego.  :o
Esa es la manera en que se deben manejar las teclas virtuales, un evento para cada una.

Cita de: vronik en Julio 19, 2014, 03:45:25 PM
Ahora lo que mas me preocupa es el registro, porque no tengo ni idea de como hacerlo y lo mas lamentable es que lo necesito

¿Y cómo va a funcionar ese registro? ¿Los datos se enviarán a un servidor en línea? El envío de datos en línea, incluso el sistema de textbox no son cosas con las que yo recomendaría iniciar un primer juego en GM.

Hay otros entornos de desarrollo que tienen comportamientos prefabricados. Por algún motivo, GM no sigue esa filosofía, da las herramientas elementales para hacer muchas cosas, pero el desarrollador es el que tiene que (como se dice por acá) "machetearle" para armar el comportamiento. Eso al final, aunque es más enredoso y hasta fastidioso que algo prefabricado, también brinda más flexibilidad y libertad para hacer algo al gusto. 
1391
antes de usar la función random agrega al código
randomize()
1392
General / Re:¿Que escuchas mientras programas?
Julio 19, 2014, 01:55:24 AM
Trato de no escuchar nada. Me he dado cuenta que cuando programo, avanzo más rápido o doy con la solución más pronto si no escucho nada  XD.

Para cosas gráficas, ahí sí me va mejor escuchar música. @abramelin, buenos tracks, "desa" música ahora ya no se hace. Y pues... difícil mencionar los géneros que escucho, la mayoría son cosas más bien old-school y poquísimas cosas nuevas. No me pregunten por lo que está de moda porque no lo sé.   :-[

1393
Preguntas y respuestas / Re:TextBox y VirtualKey
Julio 18, 2014, 10:27:09 PM
por favor comparte el código de las teclas virtuales, tanto su creación como el código que hace que se mueva el coche.

Sobre lo del sistema de registro, si quieres hacer un sistema bonito, con una apariencia personalizada, es decir, formas y cuadros de texto que se vean como tú quieres, es algo bastante lioso si vas comenzando con el GML. La lectura y manejo de texto se hace con las funciones que leen pulsaciones de tecla y con las funciones para manipular cadenas. Aparte, tienes que hacerte unos sprites para representar las textbox. Repito es algo lioso, pero le puedes dar un vistazo al manual.

Si no te interesa el aspecto de los cuadros de texto, GM:S tiene su muy rudimentario y feo a la vista sistema de TextBox, el cual hay que manejar a través de un evento asíncrono. Por ejemplo, esta función solicita nombre y contraseña

get_login_async()

si no se quiere usar la anterior, se puede usar esta, que también serviría para solicitar todo, incluído la dirección del correo
get_string_async()

1394
mmm ya voy entendiendo, creo que quiere saber si en el nivel 3 no hay monedas... o eso me figuro.
1395
A falta de que un moderador me corrija, creo que es esta

http://www.comunidadgm.org/articulos/