Спасибо за быстрый ответ!
Попробовал внести Ваши правки в код - ошибок нет, но программа все еще не реагирует на клавиатуру.
Сейчас класс выглядит так:

Код AS3:
package {
import flash.display.Sprite;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.display.Stage;
import flash.text.*;
public class the_game_itself extends Sprite {
public var main_class:the_game;
public var current_level:int;
public function the_game_itself(passed_class:the_game,level:int) {
current_level = level;
gametext.text = "Playing level "+level;
main_class = passed_class;
die_button.addEventListener(MouseEvent.CLICK, on_die_button_clicked);
win_button.addEventListener(MouseEvent.CLICK, on_win_button_clicked);
//stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); // Вызывает ошибку 1009
//addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); // Ошибок не вызывает, но не работает
if (stage) { init(); }
else { addEventListener(Event.ADDED_TO_STAGE, init); }
}
private function init(event:Event = null):void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
}
public function keyPressed(event:KeyboardEvent) {
trace("Contact");
}
public function on_die_button_clicked(event:MouseEvent) {
main_class.show_game_over(current_level);
}
public function on_win_button_clicked(event:MouseEvent) {
main_class.show_congratz(current_level);
}
}
}