Цитата:
|
1)Если я диспатчу событие из класса то подписать на это событие я мог только экземпляр этого класса?
|
Ну еще к экземплярам, любого другого класса, который шлет этоже сообщение. В общем случае да подписываться нужно к тому, кто шлет событие. (Ну еще можно подписаться к контейнеру в котором содержится экземляр DisplayObject, рассылающий событие, это относится только к displayList и если событие всплывающее-bubbles).
Цитата:
|
2) не получается вызвать методы( и менять значение переменных) через экземпляр класса в функции отлично от той где я его создаю.
|
Это происходит потому, что вы теряете ссылку на объект, так как объявляете ее локально и по завершению функции она теряется нужно как то так:

Код AS3:
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
addTower();
}
private var tower_1:Tower;
private function addTower():void
{
tower_1 = new Tower();
this.addChild(tower_1);
tower_1.x = 300;
tower_1.y = 300;
tower_1.addEventListener("towerClick", towerClicked);
trace("tower ready");
}}