Методы в методе объявляют в AS1, но никак не в AS2/AS3. Почему? Потому что появляются паразитные ссылки, которые приведут к тому, что экземпляр класса не получится удалить. Более того, подобная конструкция очень хрупкая, нарушить области видимости и прийти к полному хаосу можно ещё быстрее. Кроме того, сбивает с толку this, который ссылается не на экземпляр класса, а на кнопку. Ну и в конце-концов, такой код типизировать проблематично.
iNils привел
рабочий код.