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