var gc_fadeout = 0.1; // decrement factor
var gc_powerup = 15; // increment factor
var gv_keypower = 0; // the "power" of the key (depending on the pressrate)
var gv_keystate = 0; // internal flag
// function to get the pressrate of a key (pass the scancode of the key)
function get_keypower(p_key){
// reduce power
gv_keypower=maxv(gv_keypower-time_step*gc_fadeout, 0);
// ky released again
if(!key_pressed(p_key)){gv_keystate=0;}
// wait for key release
if(gv_keystate==1){return(0);}
// if key is pressed then power up
if(key_pressed(p_key)){
gv_keypower+=time_step*gc_powerup;
gv_keystate=1;
}
}
get_keypower(p_key) in der Schleife aufrufen (p_key ist der Scancode der gewünschten Taste).
In
gv_keypower steht der Wert repräsentativ für die Anschlaghäufigkeit.
Mit
gc_fadeout und gc_powerup das Verhalten (Werte) nach belieben einstellen.