Показать сообщение отдельно
Старый 07.09.2012, 11:37
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 2  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Попробовал смоделировать вашу ситуацию.
Код AS3:
package 
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.filters.DropShadowFilter;
 
	/**
	 * ...
	 * @author bav
	 */
	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);
 
			for (var i:int = 0; i < 2; i++)
			{
				var s:Sprite = createPassive();
				addChild(s);
				s.x = 200 * (i + 1);
				s.y = 200;
			}
 
			var a:Sprite = createActive();
			addChild(a);
			a.mouseChildren = a.mouseEnabled = false;
			a.startDrag(true);
		}
 
		private function createActive():Sprite
		{
			var s:Sprite = new Sprite();
			var g:Graphics = s.graphics;
			g.beginFill(0x00FF00);
			g.drawCircle(0, 0, 30);
			g.endFill();
			return s;
		}
 
		private function createPassive():Sprite
		{
			var s:Sprite = new Sprite();
			var g:Graphics = s.graphics;
			g.beginFill(0xFF0000);
			g.drawCircle(0, 0, 50);
			g.endFill();
			s.addEventListener(MouseEvent.MOUSE_OVER, passiveMouseOverOut);
			s.addEventListener(MouseEvent.MOUSE_OUT, passiveMouseOverOut);
			return s;
		}
 
		private function passiveMouseOverOut(e:MouseEvent):void 
		{
			var s:Sprite = e.currentTarget as Sprite;
			if (e.type == MouseEvent.MOUSE_OVER)
				s.filters = [new DropShadowFilter()];
			else
				s.filters = [];
		}
 
	}
 
}
Красные круги, лежащие ниже, спокойно перехватывают события MOUSE_OVER, MOUSE_OUT. Может быть у вас еще что-то сверху этих объектов лежит?