Показать сообщение отдельно
Старый 11.06.2009, 13:39
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 11  
Ответить с цитированием
murz

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
Код AS3:
trace(event.target); // sprite
trace(event.currentTarget); // sprite
 
А теперь кликни на его дитё (shape):
 
trace(event.target); // shape
trace(event.currentTarget); // sprite
dimarik,Что - то Вы вообще не то написали. Шейп не будет иницировать событие клика, он не наследуется от InteractiveObject.
to DEN123, если в приведенном примере будут два визуальных объекта унаследованных от InteractiveObject, то тогда target и currentTarget будут отличатся.
Вообщем - то dimarik прав, но его пример может Вас сбить столку. Вот Вам другой.

Holder.as
Код AS3:
package{
	import flash.display.Sprite;
	public class Holder extends Sprite{
 
 
	public function Holder(){
		super();
		}
		}
	}
Child.as
Код AS3:
package{
	import flash.display.Sprite;
	public class Child extends Sprite{
	public function Child(){
		super();
		}
		}
	}
Использование:
Код AS3:
var holder:Holder = new Holder();
var child:Child = new Child();
 
var g:Graphics = holder.graphics;
g.beginFill(0);
g.drawRect(0,0,60,60);
g = child.graphics;
g.beginFill(0xFF3300);
g.drawRect(0,0,40,40);
 
this.addChild(holder);
holder.addChild(child);
 
holder.addEventListener(MouseEvent.CLICK, handler_click);
 
function handler_click(event:Event):void {
   trace("target:", event.target);
   trace("currentTarget:",event.currentTarget);
}