2014-01-07 197 views
0

與AS3一起工作並在如何編程通過這種情況遇到困難。我有一個代表數字103的課。我爲每個數字添加一個動畫片段,然後添加到一個控制動畫片段中,然後添加到舞臺上。我希望能夠單擊像數字103中的零位那樣的數字,並使其反應,因爲它是單獨的動畫片段,並且同時雙擊整個數字並作出反應。有沒有辦法乾淨地做到這一點,而不會混淆下面的代碼是我迄今爲止。如何在AS3中構建嵌套的事件偵聽器

public function test() 
    { 
     numberimage = new MovieClip(); 
     var images:Vector.<MovieClip> = generateNumericArray(""); 
     for (var i:int = 0; i < String(value).length; i++) { 
      var temp:MovieClip = parsevalue(String(value).substr(i,1),images); 
      temp.x = i*50; 
          temp.addEventListener(MouseEvent.CLICK,click) 
      numberimage.addChild(temp); 
     } 
     numberimage.addEventListener(MouseEvent.MOUSE_DOWN,drag); 
     numberimage.addEventListener(MouseEvent.MOUSE_UP,drop); 
     numberimage.addEventListener(MouseEvent.MOUSE_OVER,doubleClick); 
     stage.addChild(numberimage); 
    } 

任何幫助,在此,將不勝感激

+0

'同時雙擊整個數字,並有這反應',你能解釋更多關於這? – Tim

+0

@Tim我在課堂上有一個功能,這將導致影片剪輯發光。因此,取決於數字是被點擊或拖動它會發出不同的顏色。現在,因爲我已將所有電影剪輯分組到另一個動畫片段下的整個數字中(例如,數字103將在單個影片剪輯下具有用於1,0和3的電影剪輯。至此,我只能將整個數字迴應movieclip,並沒有能力只有一個數字迴應 – TheCodeNovice

回答

0

做的,上夾雙擊:停止收聽主電影,現在聽子剪輯。在主剪輯外點擊,回聽主電影並停止聆聽其子女。

+0

不知道你的意思是...所以你說在doubleclick函數調用關閉兒童eventlisteners?也將如何將閃光能夠分開第一次點擊父母的雙擊單擊一個孩子。是否有更好的方法來做到這一點? – TheCodeNovice

0

不知道這是否是100%你正在尋找的東西:使用以下內容,具體取決於你要添加偵聽器的內容。你必須啓用雙擊第一個

numberimage.doubleClickEnabled = true; 
numberimage.addEventListener(MouseEvent.DOUBLE_CLICK, click);