2011-11-08 48 views
1

可以说我想要一个鼠标点击事件监听器跟踪(控制台打印)被点击的sprite的x坐标。这是我得到的,这是错误的。被点击的Sprite的跟踪坐标

public function field() 
    { 
     .... 
     //nodes is an array containing node sprite objects 
     for(i = 0; i < nodes.length; i++){ 
      var single_node:Node; 
      single_node = nodes[i];    
      single_node.addEventListener(MouseEvent.CLICK, onNodeClick) 
     } 
     ... 

    } 

private function onNodeClick(e:MouseEvent):void{ 
    trace(this.x); // should output single_node object x coordinate 
} 

我相信this.x引用类属性x,但是我想引用single_node对象。 当前控制台正在输出0,无论我点击哪个精灵。

回答

1

使用e.target.x

Eventtarget属性,它代表着你已经添加了一个事件侦听器的对象。

但是,我会更倾向于让听众在您自己的Node类中设置,并从那里跟踪x属性。