2011-02-24 138 views
1

我有一个类ABC访问类成员

class ABC 
{ 
    var l:Label=new Label(); 
    var m:MovieClip=new MovieClip(); 
} 

鉴于ABC类,例如的一个实例obj

var obj:ABC=new ABC(); 

我需要同时访问obj.mobj.l。说m有一个事件侦听fl_listen它获取鼠标点击触发:

function fl_listen(event:MouseEvent):void 
{ 
    var k=event.target; 
} 

在此处理程序,我可以访问ABC类的MovieClip。但是,我的要求也要求访问ABC类中的Label的对象。任何帮助将不胜感激,我是使用ActionScript的新手。

回答

1

我想你应该重新考虑你的架构。 为什么你必须在m处理事件?只要听取ABC内部的事件并在那里处理事件,就可以访问标签和动画片段。如果你需要在movieclip实例m中执行一些逻辑,那么在你的mc中处理这个并且只处理它。

使用你的伪代码:

public class ABC 
{ 

    var l:Label=new Label(); 
    var m:MovieClip=new MovieClip(); 

    function ABC(){ 
     m.addEventListener(MouseEvent.X,_handleX); 
    } 

    private function _handleX(e:Event):void{ 
     //you have access to both. Do what you need: 
     m.alpha = 0.4; 
     l.text = 'Changed'; 
    } 


} 
+0

并重新考虑你的命名约定呢! – alecmce 2011-02-25 05:48:10