2013-07-18 85 views
0

請問這個問題請幫助我: 我已經創建了幾何形狀,並且使用相同的偵聽器函數將鼠標單擊在偵聽器上,但函數沒有打電話。形狀上的鼠標點擊偵聽器在actionscript 3.0中不起作用

shape:Shape = new Shape 
    shape.graphics.beginFill(color); 
    shape.graphics.drawRoundRect(rx, ry, cWidth, cHeigth, ellipseHeight, ellipseHeight); 
    shape.graphics.endFill(); 
    shape.addEventListener(MouseEvent.CLICK, onMouseClick); 
    areaSprite.addChild(shape); 


    private function onMouseClick(ev:MouseEvent):void { 
     // some code 
     .......... 
    } 

我在做什麼錯在這裏?你可以幫幫我嗎 ?

回答

1

Shape對象都是非交互式的,所以他們不火鼠標事件等

而不是使用形狀,使用從InteractiveObject繼承另一個對象。 Sprite可能是一個不錯的選擇。但是,如果我正在做圖形對象,我總是將我的對象聲明爲MovieClip。

shape:Sprite = new Sprite(); 

shape:MovieClip = new MovieClip(); 

看看在這裏形狀繼承的事件; http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Shape.html

...並在此處與Sprite的繼承事件進行比較; http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Sprite.html