es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Entradas retardadas en juegos de carreras.

Nunca he utilizado Game Maker antes, pero parecía bastante fácil de usar para mi proyecto escolar. Quiero hacer un pequeño juego de carreras, pero el coche tiene distintos grados de retraso en los controles. El proyecto es para explorar la latencia, así que el retraso en los controles podría ser de 0.05 segundos o de 0.5 segundos, pero tiene que guardar las entradas y salidas en ese orden. ¿Sabes cómo puedo hacer esto? Realmente no conozco ningún comando en el lenguaje, así que cualquier ayuda sería muy apreciada.

Además, me gustaría agregar una hoja de encuesta al final que guarde los datos en un archivo Excel, ¿es posible con GML?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en GML y Game-Maker-Studio-2, puedo recomendar los siguientes pasos para crear un juego de carreras con diferentes grados de retraso en el control:

    1. Cree un objeto de automóvil en GameMaker Studio 2 y añada controles de movimiento.
    2. Añada un retraso a los controles de movimiento usando el evento alarm en GML. Puede configurar el tiempo de retraso utilizando la función alarm_set(). Por ejemplo, si desea un retraso de 0,5 segundos, puede agregar el siguiente código al evento de creación del objeto de automóvil:

    alarm[0] = room_speed * 0.5;
    

    Esto establecerá que la primera alarma suene después de 0,5 segundos.

    1. En el evento de alarma, puede guardar los datos de entrada y salida en una matriz utilizando la función ds_list en GML. Por ejemplo, puede crear una lista llamada input_output_data y agregar los datos de entrada y salida usando el siguiente código:
    ds_list_add(input_output_data, input_data);
    ds_list_add(input_output_data, output_data);
    

    Este código agregará los datos de entrada y salida a la lista input_output_data.

    1. Para guardar los datos en un archivo de Excel, puede utilizar la función file_text_write_string() en GML. Por ejemplo, puede crear un archivo llamado data.csv y escribir los datos en él utilizando el siguiente código:
    file = file_text_open_write("data.csv");
    for (i = 0; i < ds_list_size(input_output_data); i += 2) {
       input_data = ds_list_find_value(input_output_data, i);
       output_data = ds_list_find_value(input_output_data, i + 1);
       file_text_write_string(file, input_data + "," + output_data + "\n");
    }
    file_text_close(file);
    

    Este código abrirá un archivo llamado data.csv y escribirá los datos de entrada y salida en formato CSV.

    En resumen, puede crear un juego de carreras con diferentes grados de retraso en el control utilizando el evento alarm en GML y guardar los datos de entrada y salida en una matriz y un archivo de Excel utilizando las funciones ds_list y file_text_write_string().

Comments are closed.