AS3-检测触摸/单击StageVideo

时间:2018-07-31 09:36:53

标签: actionscript-3 starling-framework stagevideo

当用户单击视频时,我需要停止并删除StageVideo。有人知道该怎么做吗?

1 个答案:

答案 0 :(得分:3)

尽管答案可能因实现方式而异,但在最基本的级别上,您会执行以下操作,其中v是您的StageVideo实例:

stage.addEventListener(MouseEvent.CLICK, click);

function click(e:MouseEvent):void {
    if(v.viewPort.contains(e.stageX, e.stageY)){
        trace("stage video clicked!!!")
    }
}

在Click事件的舞台上听一下,然后查看x的视口中是否包含鼠标单击的y / StageVideo坐标。

尽管更常见的方法是在视频上放置透明的精灵:

var videoOverlay:Sprite = new Sprite();
videoOverlay.graphics.beginFill(0,0);
videoOverlay.graphics.drawRect(0, 0, v.viewPort.width, v.viewPort.height);
videoOverlay.x = v.viewPort.x;
videoOverlay.y = v.viewPort.y;
addChild(videoOverlay);

videoOverlay.addEventListener(MouseEvent.CLICK, videoClick);

function videoClick(e:MouseEvent):void {
    trace("video Clicked");
}