Было бы неплохо, если бы он был в фреймворке model-view-controller. У вас много чего происходит, и разные слушатели могут не совпадать идеально. Имейте класс представления, устанавливают swf, добавляют змею к стадии, делают сетку, держат слушателей для входов. Затем ввод обрабатывается контроллером. Помните, что View - это, по сути, класс, который добавляется на сцену, и большинство следует за ходом игры. Есть _controller.startTimer (); функция. Тогда все, что вы хотите, может быть обработано в контроллере. И когда вы хотите, чтобы вещи взорвались, измените переменную модели, которая указывает представлению сделать это. Контроллер вносит изменения во все переменные (включая массив элементов в поле), хранящиеся в модели, а когда он выполняет вычисления, он изменяет одну из переменных модели. Затем модель запускает функцию changeHanldler, которая вызывает view для перемещения чего-либо, изменения текста, воспроизведения звука, переключения экранов, покачивания змеи, воспроизведения собственного твинблинга змейки с твинами ...