Ho fatto in modo che, se premo il tastino R, il tempo torna indietro, quindi ripercorrendo gli step fatti, ma a ritroso e non registrandone di nuovi. Tutto questo con il sistema degli array. Ora, come ben sapete, il limite di un array è di 32000 step. Ma a me non serve di registrare tutti questi step! solo 500 al massimo. Esiste un modo in Game Maker di eliminare gli step più vecchi di 500 per esempio e aggiungerne di nuovi contemporaneamente? Per farvi capire meglio vi lascio il mio codice:
In questo modo se rewind non è attivo, il gioco registra costantemente la posizione x, y e lo sprite_index del player. Ma se premo rewind non registra più, elimina gli step più recenti registrati e quindi torna indietro nel tempo. Ma vorrei mettere un limite di un tot di step da registrare... come posso fare?if !(variable_local_exists("Data")) {
Data[0,0] = 0;
Data[1,0] = 0;
Data[2,0] = 0;
Size = 0;
rewind = 0;
}
if (rewind) {
image_speed = -0.25;
if (Size > 0) {
Size -= 1;
x = Data[0,Size];
y = Data[1,Size];
sprite_index = Data[2,Size];
}
}
else {
image_speed = 0.25;
Data[0,Size] = x;
Data[1,Size] = y;
Data[2,Size] = sprite_index;
Size += 1;
}
if (keyboard_check(ord('R'))) { rewind=1; } else { rewind=0; }