Объясните мне кто нить, почему код вешает плэйер? Поидеи цикл должен повторяться в течении того времени, пока зажата клавиша "вправо", но он повторяется 316 тысяч раз.

Код:
var kd:KeyEventDispatcher=new KeyEventDispatcher();
kd.addEventListener('key',onKey);
function onKey(k){
while (k.state && (k.code == 39)) {
_root.Valera._x += 3;
}
}