Нет, ты запутался и сделал неправильные выводы.
Код в первом кадре измени вот так:

Код AS1/AS2:
var test:test = new test(this);
А в test.as сделай следующее:

Код AS1/AS2:
import mx.utils.Delegate; // - это импорт используемых классов
class test extends MovieClip{
public var mc:MovieClip;
private var i:Number=1;
private var _host:MovieClip;
public function test(host:MovieClip){ // конструктор _должен_ иметь то же имя, что и класс. Это делает его конструктором.
// это конструктор
_host=host;// Сохраним ссылку на мувиклип-контейнер. Так мы сможем не привязываться к _root и добавлять наши кнопки в любой мувиклип.
mc=host.attachMovie("myButton","mc",host.getNextHighestDepth()); // добавим кнопку в наш контейнер
mc.onPress=Delegate.create(this,Push);
}
private function Push(){
trace("work?");
trace(i++);
mc.gotoAndStop(i);
}
}