Понятия не имею в чем проблема тогда... все неприятности начались после переписывания кода... и все что изменилось это добавление персонажа на сцену программно, раньше он был изначально на сцене, ну и конечно пришлось почти во все классы прописать слушатель ADD_TO_STAGE, хотя и в старом варианте оружие пропадало при движении если добавлять его 1 раз, но мерцания не было видно. Еще добавил начальный кадр в главном swf файле, в виде меню, но врятле это могло повлиять т.к. все объекты я распихал по контейнерам им соответствующим (все панели в контейнер интерфейса, все объекты враги и героя в контейнер объектов) вроде все по полочкам разложил.. да и что там я уже каких только манипуляций не делал что бы проверить почему оружие пропадает, единственный вариант когда оно не пропадало это когда я поместил его в отдельный контейнер от персонажа абсолютно во всех кадрах даже в тех которые не задействованы были в процессе проверки.. т.е. пришлось их удалить и тупо оставить 4 кадра с неподвижным слотом оружия и если хотя бы в 1 из них оружие было в символе перса все накрывалось медным тазом. К этим 4 кадрам потом добавил 5-й с отдельным контейнером для оружия в котором сделал его анимацию, да еще такую что оно вообще не двигалось ни то что свой размер меняло, и опять оружие пропало, наверно в коде где то ошибка, хотя я его уже перелопатил и все вроде везде логично, вот элемент кода отвечающий за анимацию персонажа во время движения:

Код AS3:
if (left == 1)
{
moving = true;
heroPoint.x -= heroSpeed;
if (! attack)
{
if (oneHandedStance)
{
hero.gotoAndStop("ohwalk_L");
}
if (twoHandedStance)
{
hero.gotoAndStop("walk_L");
}
if (dualHandedStance)
{
hero.gotoAndStop("duwalk_L");
}
}
}
if (up == 1)
{
moving = true;
heroPoint.y -= heroSpeed;
if (! attack)
{
if (this.x < heroPoint.x)
{
if (oneHandedStance)
{
hero.gotoAndStop("ohwalk_R");
}
if (twoHandedStance)
{
hero.gotoAndStop("walk_R");
}
if (dualHandedStance)
{
hero.gotoAndStop("duwalk_R");
}
}
else
{
if (oneHandedStance)
{
hero.gotoAndStop("ohwalk_L");
}
if (twoHandedStance)
{
hero.gotoAndStop("walk_L");
}
if (dualHandedStance)
{
hero.gotoAndStop("duwalk_L");
}
}
}
}
if (right == 1)
{
moving = true;
heroPoint.x += heroSpeed;
if (! attack)
{
if (oneHandedStance)
{
hero.gotoAndStop("ohwalk_R");
}
if (twoHandedStance)
{
hero.gotoAndStop("walk_R");
}
if (dualHandedStance)
{
hero.gotoAndStop("duwalk_R");
}
}
}
if (down == 1)
{
moving = true;
heroPoint.y += heroSpeed;
if (! attack)
{
if (this.x < heroPoint.x)
{
if (oneHandedStance)
{
hero.gotoAndStop("ohwalk_R");
}
if (twoHandedStance)
{
hero.gotoAndStop("walk_R");
}
if (dualHandedStance)
{
hero.gotoAndStop("duwalk_R");
}
}
else
{
if (oneHandedStance)
{
hero.gotoAndStop("ohwalk_L");
}
if (twoHandedStance)
{
hero.gotoAndStop("walk_L");
}
if (dualHandedStance)
{
hero.gotoAndStop("duwalk_L");
}
}
}
Ниже сама игра, пока только за война начал делать.