【问题标题】:MouseEvent Not Happening On Click AS3单击 AS3 时未发生 MouseEvent
【发布时间】:2015-09-06 11:12:58
【问题描述】:

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

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


    }
}

}

【问题讨论】:

    标签: actionscript-3 mouseevent


    【解决方案1】:

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

    【讨论】:

    • 移入了 TouchRemove 方法,现在它可以工作了,很奇怪,但是干草可以工作,干杯
    猜你喜欢
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 2018-11-14
    • 2014-04-11
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多