Actionscript 3 单击AS3时未发生鼠标事件

Actionscript 3 单击AS3时未发生鼠标事件,actionscript-3,mouseevent,Actionscript 3,Mouseevent,在我看来这一切都很好,但我在屏幕上有一个简单的星形形状,当点击该星形形状时,它应该会从屏幕上删除图像。我不明白为什么它不起作用希望你们中的一个能,我将不胜感激 public class TouchRemove extends Sprite { private var _color:uint; private var _radius:int; private var star:Sprite; public function mouseClick(event:

在我看来这一切都很好,但我在屏幕上有一个简单的星形形状,当点击该星形形状时,它应该会从屏幕上删除图像。我不明白为什么它不起作用希望你们中的一个能,我将不胜感激

public class TouchRemove extends Sprite
{   
    private var _color:uint;
    private var _radius:int;
    private var star:Sprite;

    public function mouseClick(event:MouseEvent): void {
        star.visible = false;
    }

    public function TouchRemove(c:uint = 0xffff00, r:int = 100)
    {

        _color = c;
        _radius = r;

        star = new Sprite();

        createStar();
        addChild(star);
        star.x = 250;

        star.addEventListener(MouseEvent.CLICK, mouseClick);

    }
    private function createStar():void
    {
        star.graphics.lineStyle(9,_color);
        star.graphics.moveTo(_radius, 0);

        var angleIncrement = Math.PI / 5;
        var ninety:Number = Math.PI * 3;

        for (var i:int = 0; i <= 10; i++) 
        {
            var radius:Number = (i % 2 > 0 ? _radius : _radius * .5);
            var px:Number = Math.cos(ninety + angleIncrement * i) * radius;
            var py:Number = Math.sin(ninety + angleIncrement * i) * radius;
            if (i == 0) star.graphics.moveTo(px, py);
            star.graphics.lineTo(px, py);
        }


    }
}
}您的代码看起来是正确的。 试试这个: -将侦听器添加到父级 -手动添加star并通过代码在其上添加侦听器
这将有助于找到错误。

使用了TouchRemove方法,现在它可以工作了,很奇怪,但是它可以工作,干杯