AS3 - 在 StageVideo 上检测 touch/click

AS3 - detect touch/click on StageVideo

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

虽然答案可能因实施而异,但在最基本的层面上,您会做这样的事情,其中​​ 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");
}