AS3 - обнаружение касания / нажатия на StageVideo

Мне нужно остановить и удалить StageVideo, когда пользователь нажимает на видео. Кто-нибудь знает, как это сделать?

1 ответ

Решение

Хотя ответ может варьироваться в зависимости от реализации, на самом базовом уровне вы должны сделать что-то вроде этого, где 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");
}
Другие вопросы по тегам