Проблема, с которой вы столкнулись, связана не с вашим кодом, а с временной шкалой. Код из вашего класса может получить доступ только к элементам текущего отображаемого фрейма и потерять доступ к другим экземплярам, символам и всему, что находится за пределами текущего фрейма.
Ваша проблема в том, что флэш-память проходит каждый кадр в первый раз, выделяя при отладке, что каждый объект построен правильно, но как только он достигнет последнего кадра на временной шкале, он возвращается к самому первому кадру, снова выполняя все оттуда, как любой объект, присутствующий в кадре, снова создается.
Вы должны избегать размещения экземпляров класса на сцене вручную.
Также, но это личная практика, если вам нужно работать с фреймами и кодом, предпочитайте работать с однокадровыми клипами, а также с библиотеками значков addChild (), активами и gotoAndStop () из кода. в конце у вас будет намного больше контроля и меньше разочарований. Но в целом, если вы пишете код, по возможности избегайте использования фрейма;)
Надеюсь, это помогло!