2014-02-09 2 views
0

청취자와 함께 맞춤 이벤트를 수신하는 데 문제가 있습니다.Actionscript 3.0 디스패치 된 맞춤 이벤트 수신

키라는 개체가 여러 개 있습니다. 각 키, 그것을 클릭하면, 사용자 정의 이벤트과 같이 전달합니다 : 키의 모든

public class Key extends Sprite 
{ 
    private var letter:String; 
    public static const CLICKED:String = "clicked"; 

    private function keyClicked(e:MouseEvent):void { 
     this.removeEventListener(MouseEvent.CLICK, keyClicked, false); 
     this.mouseEnabled = false; 
     dispatchEvent(new Event(CLICKED)); 
    } 
} 

은 키보드 객체의 자식입니다. 내 청취자가 결코 따기되지 않습니다, 나는 성공적으로 이벤트를 전달하고 말할 수 있지만, 그러나

public function keyboardGuess(e:Event):void { 
     trace("event received"); 
     var letter:String = e.target.getLetter(); 
     trace(letter); 
    } //there will be other functionality in here when I get it listening 

를 호출

addEventListener(Key.CLICKED, keyboardGuess); 

: 키보드 개체의 부모 중 하나는 이벤트 리스너과 같이있다 그것. 나는 이것을 한시간 이상 미쳤다. 무슨 일이 일어나는지 알아낼 수있게 도와 줄 수 있니?

답변

1

사용자 지정 이벤트의 bubbles 값은 true 여야하므로 Key가 포함 된 개체가 이벤트를받을 수 있습니다. 거품 값이 false 인 경우 이벤트를 전달한 객체 만 키와 마찬가지로 이벤트를 수신 할 수 있습니다.

bubbles.

dispatchEvent(new Event(CLICKED, true)); 
+0

가 dispatchEvent에 기본적으로하지 않습니다 시도는 참으로 거품? –

+0

아니, 나는 새로운 이벤트를 파견있어 때문에이 API에서 찾을 수없는 이유이다 기본적으로 false가되는; dispatchEvent가 아닌 이벤트 생성자를 찾고있었습니다. 이것은 나의 문제를 정확하게 해결했다. 정말 고맙습니다! –