Ну а откуда по-вашему func_fire может знать о каких-то water, air и land?
Это же ЛОКАЛЬНЫЕ переменные конструктора. Никто, кроме функции(-конструктора) Towers, ничего о них не знает.
Добавлено через 7 минут
Вы можете вывести эти переменные в члены Класса, тогда любой метод класса будет иметь к ним доступ.
Код AS3:
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Towers extends Sprite
{
private var fire:Fire;
private var water:Water;
private var land:Land;
private var air:Air;
public function Towers():void
{
fire = new Fire();
water = new Water();
land = new Land();
air = new Air();
fire.x=20;
fire.y=20;
water.x=20;
water.y=300;
land.x=300;
land.y=20;
air.x=300;
air.y=300;
addChild(fire);
addChild(water);
addChild(land);
addChild(air);
fire.addEventListener(MouseEvent.CLICK,func_fire);
/*water.addEventListener(MouseEvent.CLICK,func);
land.addEventListener(MouseEvent.CLICK,func);
air.addEventListener(MouseEvent.CLICK,func);*/
}
public function func_fire(e:MouseEvent):void
{
removeChild(water); //на самом деле надо проверять, есть ли такой чайлд
removeChild(air);
removeChild(land);
}
}
}
Добавлено через 8 минут
И да, надо отписываться наверное от события клика по fire после того, как его один раз кликнули, ибо удалять то уже некого.