单击AS3时未发生MouseEvent

时间:2015-09-06 11:12:58

标签: actionscript-3 mouseevent

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

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);
        }


    }
}

}

1 个答案:

答案 0 :(得分:0)

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