у меня несколько классов,
тут суть немного в другом
есть главный класс

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.*;
public class TowerKiller extends Sprite
{
private var hero:Hero;
public static var sWidth:int;
public static var sHeight:int;
public function TowerKiller()
{
sWidth = stage.stageWidth;
sHeight = stage.stageHeight;
hero = new Hero();
hero.x = stage.stageWidth / 2;
hero.y = stage.stageHeight / 2;
addChild(hero);
}
}
}
класс героя, выполняет основные функции

Код AS3:
package
{
import flash.display.MovieClip;
import flash.events.*;
import flash.utils.*;
public class Hero extends MovieClip
{
public function Hero()
{
hero = new MovieClip();
enemyLoader = new EnemyLoader();
addChild(enemyLoader);
enemyLoader.update(x, y);
}
}
}
классы сократил...
класс EnemyLoader подгружает данные врагов, в нем же создаются враги и заносятся в массив

Код AS3:
package
{
import flash.display.MovieClip;
import flash.events.*;
import flash.utils.*;
public class EnemyLoader extends MovieClip
{
public function EnemyLoader()
{
var enemy:Enemy = new Enemy(данные);
enemyList.push(enemy);
}
ВОТ НА ЭТОМ МЕСТЕ ОСНОВНАЯ БЕДА
собственно проблема, в том, что enemy.x и enemy.y отдает нули
public function update(heroX:int, heroY:int):void
{
for (var i:int = 0; i < enemyList.length; i++)
{
var enemy:MovieClip = enemyList[i];
var dx:Number = enemy.x - heroX;
var dy:Number = enemy.y - heroY;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
var cos:Number = dx / dist;
var sin:Number = dy / dist;
if (dist > enemy.speed)
{
enemy.x -= enemy.speed * cos;
enemy.y -= enemy.speed * sin;
}
}
}
}
}
красным в коде, я выделил где затыка
собственно метод update вызывается из класса Hero
вопрос в том, как правильно сделать, и главное грамотно, что бы из того же класса EnemyLoader получать координаты врагов, созданных в классе Enemy?
почему они по нулям?
надеюсь понятно объяснил