Показать сообщение отдельно
Старый 15.11.2012, 01:09
says вне форума Посмотреть профиль Найти все сообщения от says
  № 1  
Ответить с цитированием
says
Banned

Регистрация: Sep 2012
Сообщений: 91
Tip Приемники событий не работают...

Двс.
Рисую 4 объекта в графе,в ас3 делаю 4 переменные,выставляю в координаты эти 4 картинки,завожу события для каждой кнопки с отдельной функцией,при попытке компилировать,выскакивает внутренняя ошибка

привожу код:
Код AS3:
package
{
import flash.display.*;
import flash.events.*;
	public class Tower extends Sprite
	{
		public function Tower
		{
		//создаю 4 переменных для соответсвующих стихий
		var fire:Fire = new Fire();
		var water:Water = new Water();
		var land:Land = new Land();
		var air:Air = new Air();
		fire.x=10;
		fire.y=10;
		water.x=110;
		water.y=10;
		land.x=10;
		land.y=110;
		air.x=110;
		air.y=110;
		//создаю 4 слушателя для 4 кнопок
		fire.addEventListener(MouseEvent.CLICK,clickFire);
		water.addEventListener(MouseEvent.CLICK,clickWater);
		land.addEventListener(MouseEvent.CLICK,clickLand);
		air.addEventListener(MouseEvent.CLICK,clickAir);
		}
		//функция срабатывающая при нажатии на огонь (удаляет все 4 картинки)
		private function clickFire(event.MouseEvent):void
		{
		var fire:Fire = targetCurrent as Fire();
			if(fire)
			{
			removeChild(fire);
			removeChild(water);
			removeChild(land);
			removeChild(air);
			}
		}
		//функция срабатывающая при нажатии на вода (удаляет все 4 картинки)
		private function clickWater(event.MouseEvent):void
		{
		var water:Water = targetCurrent as Water();
			if(water)
			{
			removeChild(fire);
			removeChild(water);
			removeChild(land);
			removeChild(air);
			}
		}
		//функция срабатывающая при нажатии на земля (удаляет все 4 картинки)
		private function clickLand(event.MouseEvent):void
		{
		var land:Land = targetCurrent as Land();
			if(land)
			{
			removeChild(fire);
			removeChild(water);
			removeChild(land);
			removeChild(air);
			}
		}
		//функция срабатывающая при нажатии на воздух (удаляет все 4 картинки)
		private function clickAir(event.MouseEvent):void
		{
		var air:Air = targetCurrent as Air();
			if(air)
			{
			removeChild(fire);
			removeChild(water);
			removeChild(land);
			removeChild(air);
			}
		} 
	}
}
1)Кто подскажет в чем проблема,мне кажется что в currentTarget , я бы его не стал писать вообще?
2)И второй вопрос,можно ли сделать для 4-ех объектов один слушатель?