Доброе время суток!
Пожалуста подскажите новичку в написании классов...
Суть проблемы:
Решил написать игру типа платформенный скроллер с применением классов и столкнулся с вполне ожиданной проблемой...
Класс Героя заранее ничего не знает о своём экземпляре. И при обращении во внуть несуществующего ещё эземпляра класса, с попыткой проиграть вложенную анимацию, (при реакции на нажатие клавиши) флеш ругается на этапе компиляции. Говорит что нет такого свойства. (выделено жирным) я прекрасно понимаю, что так писать нельзя, но в таймлайне таких проблем не было бы. Пожалуйста скажите как записать это выражение правильно именно в классе.
вот код класса:
чего-то жирность проблемного кода плохо видно, поэтому пишу его отдельно

Код AS1/AS2:
if (Key.isDown(Key.SPACE) && !jump && !shoot) {
shoot = true;
this.gotoAndStop(1);
this.man.body.gotoAndPlay(2); //вот эта строка!!!
}

Код AS1/AS2:
class Hero extends MovieClip {
//сила гравитации
private var grav:Number = 1;
//начальная скорость прыжка
private var jumpSpeed:Number = -11.9;
//шаг по Х
private var speedX:Number = 5;
//шаг по Y
private var speedY:Number = 0;
//максимальная скорость падения
private var maxSpeedY:Number = 14;
//отображает состояние прыжка
public var jump:Boolean = false;
//отображает состояние удара
public var shoot:Boolean = false;
//считаем что изначально персонаж стоит на поверхности
private var groundY:Number = 300;
private var oldX:Number;
function Hero() {
onEnterFrame = function () {
stepHero();
};
}
function stepHero() {
if (Key.isDown(Key.UP) && !jump && !shoot) {
jump = true;
speedY = jumpSpeed;
}
//бъём
if (Key.isDown(Key.SPACE) && !jump && !shoot) {
shoot = true;
this.gotoAndStop(1);
this.man.body.gotoAndPlay(2);
}
if (!shoot) {
//смещаемся влево/вправо
if (Key.isDown(Key.LEFT)) {
this._xscale = -100;
this._x -= (jump) ? speedX*.8 : speedX;
} else if (Key.isDown(Key.RIGHT)) {
this._xscale = 100;
this._x += (jump) ? speedX*.8 : speedX;
}
}
//применяем по цепочке: гравитация -> скорость -> _y
speedY += grav;
speedY = (speedY>maxSpeedY) ? maxSpeedY : speedY;
this._y += speedY;
if (this._y>groundY) {
this._y = groundY;
speedY = 0;
jump = false;
}
if (!shoot) {
if (jump) {
//в позу полёта
this.gotoAndStop(3);
} else {
if (oldX != this._x) {
//если позиция по Х изменилась - в позу хотьбы
this.gotoAndStop(2);
} else {
//иначе - по стойке смирно
this.gotoAndStop(1);
}
}
}
oldX = this._x;
}
}
в фла существует мувик в библиотеке с именем hero_mc, линкэйджем привязанный к классу Hero и такой простенький код... пока)

Код AS1/AS2:
attachMovie("hero_mc","hero",99999);
hero._y = 100;
hero._x = 100;