Gracias amigo!
o mejor dicho
[gml]a= "Gracias amigo!";
show_message (a);[/gml]
:D
o mejor dicho
[gml]a= "Gracias amigo!";
show_message (a);[/gml]
:D
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.
alarm[0] = 5*room_speed;
//activo la alarma [0] que será llamada en 5 segundos (en verdad esta duración no es fija si no variable)
<lo que sea en GML>
alarm[1]=3*room_speed;
//trascurridos 3 segundos se activará esta alarma(en verdad esta duración no es fija si no variable)
<lo que sea en GML>
game_end();
CitarA ver, a ver... no entendí bien. ¿Estás sugiriendo usar etiquetas [php*] para GML? Si es así... no sé si sabías, pero existe la etiqueta [gml*]:
a = "Hola";
if a == "Hola" {
global.i = true;
}
La implementó Eduardo hace un tiempo.
if (alarm[1]) {
<sentencia1>
}
if (alarm[2]) {
<sentencia2>
}
iround(+5-random(12))
round (random_range (5, 12) )
if ((instance_exists(obj_us)){
inicioUS =relojInterno; //saco de mi reloj el momento en el que empieza
if(!(instance_exists(obj_us))){
finUS =relojInterno
duracionUS = finUS - inicioUS;
}
}
random_range (suelo, techo);
round (random_range (suelo, techo) )
//Contador para los frames, se incrementa en uno en el evento steep
stepsTranscurridos = 0;
relojInterno =0;
//el primer valor de ITI en la fila 1º columna
DesplacaColumna=1;
//declaro e inicializo las variables para el comienzo
DuracionITI=real(global.tb_ds[2,DesplacaColumna]);
DuracionPRE = real(global.tb_ds[3,DesplacaColumna]);
DuracionCS = real(global.tb_ds[4,DesplacaColumna]);
EstadoContexto = real(global.tb_ds[5,DesplacaColumna]);
EstadoCS = real(global.tb_ds[6,DesplacaColumna]);
EstadoUS = real(global.tb_ds[7,DesplacaColumna]);
//llamo al alarma del ITI (pasando como duración el valor de el ITI (que se actualiza mediante DesplacaColumna)
alarm[0]=DuracionITI*room_speed;
//a cada paso se incrementa 1 frame (sirve para calcular los segundos)
stepsTranscurridos += 1;
//declaro la variable que será mi reloj interno (frames pasados entre la velocidad de la romm)
relojInterno= stepsTranscurridos /(room_speed);
//show_debug_message ("Reloj:"+string(relojInterno)+ " DesplacaColumna: "+string(DesplacaColumna));
//show_debug_message ("tiempoAcumulado:"+string(tiempoAcumulado)+ " DesplacaColumna: "+string(DesplacaColumna));
//la 1ºvez saca global.tb_ds[2,1] que es el 1º valor de la fila
//en cada vuelta se actualiza el valor de las variables sacandolas al actualizar DesplacaColumna
DuracionITI=real(global.tb_ds[2,DesplacaColumna]); //Fila ITI
DuracionPRE = real(global.tb_ds[3,DesplacaColumna]);
DuracionCS = real(global.tb_ds[4,DesplacaColumna]);
EstadoContexto = real(global.tb_ds[5,DesplacaColumna]);
EstadoCS = real(global.tb_ds[6,DesplacaColumna]);
EstadoUS = real(global.tb_ds[7,DesplacaColumna]);
alarm[1]=DuracionPRE * room_speed;
//COMIENZA CS
//llamar a scr_cs(EstadoCS)
scr_cs(EstadoCS);
//REALIZA ACCIONES CS
//LLama a ALARMA CS (timepo de espera hasta que finaliza el CS)
alarm[2] = room_speed* DuracionCS;//toma el valor de global.tb_ds[4,DesplacaColumna]
//FINALIZA CS
//Manda Trigger para asociar al CS con datos
//Guarda las respuestas emitidas en CS
//llama al script que evalua el US
scr_us (EstadoUS);
//Manda Trigger para asociar el US con el ensayo
//ahora debería actualizar el estado de CS
scr_cs(0);
//FINALIZA US (FIN DE ENSAYO)
//actualizar la columna
//comprueba si has más columnas que recorrer en el array
if (obj_control.DesplacaColumna < real(global.var_tablas[1,3])+1){
obj_control.DesplacaColumna+=1;//desplaza la columna a la derecha para tomar los valores del siguiente ensayo
}
//si DesplacaColumna ha llegado a la última columna
if (obj_control.DesplacaColumna > real(global.var_tablas[1,3])){
game_end();
}
//COMIENA EL SIGUIENTE ENSAYO
//Alarma ITI (con DuracionITI ya actualizada mediante DesplacaColumna)
alarm[0]=DuracionITI*room_speed;
//Contador para los frames, se incrementa en uno en el evento steep
stepsTranscurridos = 0;
relojInterno =0;
tiempoAcumulado =0;
//el primer valor de ITI en la fila 1º columna
DesplacaColumna=1;
//a cada paso se incrementa 1 frame (sirve para calcular los segundos)
stepsTranscurridos += 1;
//declaro la variable que será mi reloj interno (frames pasados entre la velocidad de la romm)
relojInterno= stepsTranscurridos /(room_speed);
//la 1ºvez saca global.tb_ds[2,1] que es el 1º valor de la fila
//en cada vuelta se actualiza el valor de las variables sacandolas al actualizar DesplacaColumna
InicioTrial=real(global.tb_ds[2,DesplacaColumna]); //Fila ITI
DuracionPRE = real(global.tb_ds[3,DesplacaColumna]);
DuracionCS = real(global.tb_ds[4,DesplacaColumna]);
EstadoContexto = real(global.tb_ds[5,DesplacaColumna]);
EstadoCS = real(global.tb_ds[6,DesplacaColumna]);
EstadoUS = real(global.tb_ds[7,DesplacaColumna]);
//A trial asigna el resultado de scr_compruebaTime (0: no Trial, 1:Trial)
accionTrial=scr_compruebaTime ((InicioTrial+tiempoAcumulado), relojInterno);
if (!accionTrial=0){
alarm[0] = room_speed* DuracionPRE;//toma el valor de global.tb_ds[43DesplacaColumna]
//llama al script de cambio de CS
scr_cs(EstadoCS);
alarm[1] = room_speed* DuracionCS;//toma el valor de global.tb_ds[4,DesplacaColumna]
//actualiza tiempoAcumulado (sumo PRE+CS; cuando entre de nuevo al STEP sumará el valor de InicioTRial pero habiendo desplazado la columna
tiempoAcumulado= tiempoAcumulado+DuracionPRE+DuracionCS;
//comprueba si has más columnas que recorrer en el array
if (DesplacaColumna <real(global.var_tablas[1,3])){
DesplacaColumna+=1;//desplaza la columna a la derecha para tomar los valores del siguiente ensayo
}
}
CitarTambién conviene que a los segundos en la tabla no los escribas con respecto al evento anterior, si no respecto al tiempo total, por ejemplo:Desgraciadamente las peculiaridades de mi juego precisan que el tiempo sea introducido así.
Asi no:
3, 1, 5
Así:
3, 4, 9
Eso te va a ahorrar tener que programar más
comparadorITI =0;
comparadorCS =0;
tiempoAcumulado = 0;
show_debug_message ("global.var_tablas[1,3] =" + string (global.var_tablas[1,3]))
//Bucle principal timing
for (i=1; i < real(global.var_tablas[1,3])+1; i+=1){
comparadorITI = real(global.tb_ds[2,i]) //toma el valor de ITIms de la columna i
show_debug_message ("comparadorITI de i:" +string(i)+" ="+string(comparadorITI))
comparadorCS = real(global.tb_ds[3,i]) //toma el valor de CSms de la columna i
show_debug_message ("comparadorCS de i:" +string(i)+" ="+string(comparadorCS))
//comparadorUS = global.tb_ds[i,4] //toma el valor de USms de la columna i
//hasta que el reloj interno indique que ya ha pasado el ITIwhile ((tiempoAcumulado+comparadorITI) == relojInterno){
//mando guardar un trigger a el array que posteriormente mandaré a mi fichero de datos .txt(e.g.ITI_i, CS_i)
//mando datos de (obj_personaje.contadorRespuestas)disparos asociados a los trigger anteriores ITI_i = Xdisparos
show_debug_message ("Respuestas ITI:" +string(obj_personaje.contadorRespuestas))
obj_personaje.contadorRespuestas = 0; //pongo a 0 el contador de respuestas
}
//hasta que el reloj interno indique que ya ha pasado el ITI+CS
while ((tiempoAcumulado+(comparadorITI + comparadorCS)) == relojInterno){
//mando guardar un trigger a el array que posteriormente mandaré a mi fichero de datos .txt(e.g.ITI_i, CS_i)
//mando datos de (obj_personaje.contadorRespuestas)disparos asociados a los trigger anteriores CS_i = Xdisparos
show_debug_message ("Respuestas CS:" +string(obj_personaje.contadorRespuestas))
obj_personaje.contadorRespuestas = 0; //pongo a 0 el contador de respuestas
tiempoAcumulado = comparadorITI + comparadorCS; //suma el tiempo de ITI_i+CS_i
}
}
CitarSigue dando error?Si, sigue dando error, el mimo error.
CitarPara ver la variable sin tener que hacer el draw podés correr el juego en "Debug mode" (flecha roja)
Después hacés click en Watch>Add y cuando te pide escribir ponés info.s o info.contadorFrame
Te tendría que estar mostrando el valor de esa variable en la tabla de la ventana
Page generada en 0.023 segundos con 12 consultas.