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");
}
我需要在用户单击视频时停止并删除 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");
}