FULL_SCREEN_INTERACTIVE 模式:“允许”按钮点击传递给应用程序

2023-12-03

在 AS3 游戏(使用 Flex 4.10.0)中,我希望允许玩家聊天,即使他们在在全屏模式下.

所以我使用以下 ActionScript 代码(_fullBox复选框会在我的网络应用程序中触发全屏模式):

public function init():void {
    if (stage.allowsFullScreenInteractive)
        stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreen, false, 0, true);
}

private function toggleFullScreen(event:MouseEvent):void {
    stage.displayState = 
        stage.displayState == StageDisplayState.NORMAL ?
        StageDisplayState.FULL_SCREEN_INTERACTIVE :
        StageDisplayState.NORMAL;
}

private function handleFullScreen(event:FullScreenEvent):void {
    _fullBox.selected = event.fullScreen;
}

<s:CheckBox id="_fullBox" click="toggleFullScreen(event)" label="Full Screen" />

这意味着成功进入全屏模式并且用户也可以使用键盘聊天。

不幸的是,对话框中“允许”按钮的点击(显示“允许使用键盘控件全屏?”)被传递到 Web 应用程序。

在我的例子中,它会导致点击大厅的游戏桌,正如您在屏幕截图中看到的那样,从而(不需要的)加入游戏:

enter image description here

此(错误?)已在 Windows 7 / 64 位和 Flash Player 11,8,800,115 中出现。

有人可以分享一个好的解决方法吗?

我正在考虑添加一个透明的Sprite or UIComponent在我的网络应用程序之上,但问题是何时(即以哪种方法)显示/隐藏它?

UPDATE:

Calling event.stopPropagation() from handleFullScreen()没有任何帮助。

更新2:

我已提交错误#3623333在 Adob​​e。

更新3:给自己的一封信——stage.allowsFullScreenInteractive没用,因为只有在全屏模式下才设置。


正如您所提到的,您需要创建透明层以避免不需要的点击事件。当屏幕返回正常状态或用户接受的全屏状态时,您可以隐藏该层(FULL_SCREEN_INTERACTIVE_ACCEPTED事件将被触发)。

Demo(需要 Flash 播放器 11.3)

var transparentLayer:Sprite=new Sprite();
var timer:Timer = new Timer(50, 1);
init();
function init():void {
    transparentLayer.graphics.beginFill(0,0.1);
    transparentLayer.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
    transparentLayer.graphics.endFill();
    transparentLayer.visible=false;
    addChild(transparentLayer);
    timer.addEventListener(TimerEvent.TIMER_COMPLETE,handleTimerComplete);
    stage.addEventListener(FullScreenEvent.FULL_SCREEN_INTERACTIVE_ACCEPTED,handleFSIA);
    _fullBox.addEventListener(MouseEvent.CLICK,toggleFullScreen);
    stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreen);
}
function toggleFullScreen(e:MouseEvent):void {
    if(stage.displayState == StageDisplayState.NORMAL){
        stage.displayState=StageDisplayState.FULL_SCREEN_INTERACTIVE;

        transparentLayer.visible=ExternalInterface.available;

    }else
        stage.displayState=StageDisplayState.NORMAL;
}
function handleFullScreen(e:FullScreenEvent):void {
    _fullBox.selected = e.fullScreen;
    if(stage.displayState == StageDisplayState.NORMAL)
        transparentLayer.visible=false;
}
function handleFSIA(e:FullScreenEvent):void{
    timer.reset();
    timer.start();
}
function handleTimerComplete(e:TimerEvent):void{
    transparentLayer.visible=false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FULL_SCREEN_INTERACTIVE 模式:“允许”按钮点击传递给应用程序 的相关文章

  • iOS 如何触发视频退出全屏后继续播放?

    我正在构建一个在 iOS 中播放视频的网站 我有一个在 iOS 中工作的全屏按钮 但是退出全屏时视频会暂停 有谁知道一种方法可以强制视频在退出全屏时继续播放 或者如何设置一个侦听器来触发视频在退出全屏时自动播放 这是我的代码
  • 使用jquery调用AS3外部接口

    我正在使用ExternalInterface 调用嵌入在html 页面中的Flash 应用程序 以下代码工作正常 我正在使用按钮进行测试 document ready function button click function var a
  • 如何通过命令行将Flash .fla编译为.swf? [复制]

    这个问题在这里已经有答案了 如何在基于 Windows 的操作系统上通过命令行将 Flash fla 文件编译为 swf 需要安装的命令行工具就可以了 谁能建议我该怎么做 以直接的方式 谢谢 您可以使用JSFL为 Flash IDE 编写脚
  • 在 Javascript 中检测 Flash 文件何时完成播放

    我正在使用 Javascript 将 Flash 文件嵌入到网站中 然后需要在播放完成后将其删除 有没有办法用普通的 Javascript 来做到这一点 或者是否需要将回调类型的函数添加到 Flash 文件本身 我该如何编码 JavaScr
  • Delphi XE7 Android 全屏(隐藏软键)

    如何在XE7中全屏显示 隐藏顶部 标题 和底部 软键 工具栏 在 XE6 中 我可以通过在应用程序部分写入来调整 AndroidManifest 以使我的应用程序全屏显示并且没有操作栏 android theme android style
  • Flash - HTTP 请求在本地主机上不起作用

    首先 我试图修复一些我一开始就没有构建的东西 项目负责人向我保证 当他离开时 它工作得很好 尽管自从他离开后我从未接触过的版本似乎已经同样的问题 一般来说 我对编程也有点陌生 所以如果我在第一篇文章中遗漏了重要信息 请告诉我 我会尝试添加更
  • 使用鼠标事件复制拖放时出现问题

    我想用我自己的例程复制标准的 startDrag stopDrag 事件来稍微改变一些事情 并且我遇到了某种事件传播或冒泡问题 这是我的代码
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • 如何从公共函数返回变量

    我试图摆脱在主时间线上使用代码 但我很难理解 as 文件和 fla 文件如何交互 例如 我试图弄清楚如何将变量从主时间线传递到公共函数 对该变量执行一些操作并将其传递回主时间线 我在框架上有一个输入文本框和一个带有侦听器的简单按钮 我希望能
  • Flex HTTPservice 和 POST,发送文件?

    我使用基本的 Post 将数据发送到 Django 服务器 数据由flex动态创建的base64编码的640 380 PNG图像组成 成分
  • 在没有流媒体服务器的情况下在 Flash 中录制 h.264 视频?

    是否可以在不需要流媒体服务器 如 fms wowza red5 的情况下从 Flash Actionscript 相机 即网络摄像头 保存 h 264 视频 我还想从麦克风获取样本数据 并在客户端对其进行转码 以便用户可以录制 h 264
  • AS3 中的堆栈限制 5287 是变量还是预定义的?

    我刚才做了一个测试 function overflow stack int 0 void if stack lt 5290 trace stack overflow stack 1 overflow 这总是会在之后抛出 StackOverf
  • 截取 DirectX 全屏应用程序的屏幕截图

    这让我很困惑 DirectX 绕过一切并直接与设备驱动程序对话 因此 GDI 和其他常用方法将不起作用 除非 Aero 被禁用 或不可用 否则出现的只是屏幕左上角的黑色矩形 我已经尝试过其他人在几个论坛上建议的方法 使用 DirectX 获
  • 如何在Flash CS5中制作通用暂停按钮?

    我正在尝试在 Flash 中制作一个按钮来暂停我的文件中正在运行的所有影片剪辑 这些影片剪辑都不是我的主时间线中的补间 它们都有自己的单独时间线 每个移动剪辑都由一个按钮触发 该按钮告诉剪辑开始播放 因此 如果有人可以帮助我创建这个暂停按钮
  • 在 ActionScript 2 中处理无限/巨大的世界

    在 ActionScript 2 中 如何以最小的延迟实现无限 巨大的程序生成世界 例如 在像 泰拉瑞亚 或 我的世界 这样的游戏中 处理这样一个巨大的世界的最佳方法是什么 显然 循环遍历每个块并以这种方式移动它们是行不通的 我尝试将块放入
  • 如何打开/关闭 iPhone 相机闪光灯 swift 2?

    我正在寻找如何打开 关闭 iPhone 的相机闪光灯 我发现了这个 IBAction func didTouchFlashButton sender AnyObject let avDevice AVCaptureDevice defaul
  • 为什么我不应该使用 Flash?

    我多次听说我的网站应该避免使用 Flash 但没有人告诉我这样做的充分理由 我搜索了原因 发现很多不真实的情况 例如 Flash 中的文本无法被搜索引擎索引 或者不一定是真实的或足够重要的 占用更多带宽 JS 等效项会更大还是更小 我的网站
  • AS3 - for (... in ...) 与 for every (... in ...)

    以下代码执行完全相同的操作 之间有区别吗for each and for in var bar Array new Array 1 2 3 for var foo in bar trace foo for each var foo2 in
  • 在数组/对象中查找项目的最快方法

    在 Javascript AS3 中查找列表或对象中项目的索引的最快方法是什么 我对这两种语言都提出这个要求 因为这两种语言的语法相似 假设 myArray one two three myObject one 1 two 2 three
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文

随机推荐

  • SQL 将 2 个表连接到 1 个表

    我的任务是连接 3 个表 任务 单位和建筑物 任务表有一列表示单位 一列表示建筑物 任何单一任务仅分配给一座建筑物或一个单元 而不是两者 因此 每条记录中的一列始终为空 任务表中有6100条记录 当我使用这个连接时 select from
  • 如何使用dll?

    我知道如果我有一个 a 或 so 文件以及该库的头文件 例如 SystemC 我应该 1 包含头文件 2 链接适当的库 但我无法仅处理 dll 文件 因为我也可以链接它 但没有要包含和使用命令的侦听器文件 有人可以解释一下存在什么样的 dl
  • 结束 NSTableView 上的编辑(基于视图)

    当用户正在编辑表格视图上的文本字段并决定单击窗口的关闭按钮时 他 她所做的更改不会保存 如何强制表格视图 基于视图 结束编辑 而不是中止编辑 最简单的方法是为您的窗口分配一个委托并响应NSWindow s 窗口应该关闭 委托方法 在其中调用
  • 单击 UIBarButton 显示 toast 并双击返回操作需要执行

    我在导航栏中有一个 UIBarButton 当单击后退按钮 第一次点击 时 我需要显示 toast 如警告 双击时我需要快速退出页面 以下用于显示 toast 的代码 其工作正常 let toastLabel UILabel frame C
  • 以“MMMyyyy”为键对地图进行排序

    我有一张地图 其键采用 MMMyyyy 格式 我需要根据月份进行排序 输入 unsorted Dec2010 1 Apr2010 1 Feb2010 0 Nov2010 2 Mar2010 0 Jun2010 2 Sep2010 1 May
  • 在 Azure DevOps 中跨构建管道共享变量

    我的 azure devops 项目中有 2 个构建管道 一个用于构建源代码 另一个用于构建 进行设置 我希望将编译代码的第一个管道生成的内部版本号传递到创建安装文件的下一个管道 因为我希望安装文件采用相同的版本 所以我添加了一个变量组 其
  • 在android中创建给定形状的图像视图

    我需要在 Android 中创建这个特定形状的图像视图 如果可以以这种形状裁剪图像 那么也很好 请帮我解决一下 这将是完整的套装
  • Select 语句中的 PHP 变量

    我已经编写了这个正在运行的 PHP 脚本 现在我想将行名称更改为变量 不确定行是否正确 我的意思是来自select name 这容易多了不是吗 sql insert INSERT INTO customers name address em
  • 如何在 C++ 中杀死进程,只知道其名称的一部分

    前段时间我需要编写 C 代码来终止某些进程 在我的主程序中 我使用 system 运行大型 CAE 系统包 并在输入上使用不同的文件名字符串 CAE 软件创建许多进程 其中包含进程名称字符串filename 一些CAE过程worktime
  • 如何有效地将我的@KafkaListener绑定到ConcurrentKafkaListenerContainerFactory?

    我遇到了这个对我来说似乎很奇怪的场景 所以基本上我定义了两个 KafkaListener在一堂课中 KafkaListener id listener1 idIsGroup false topics data1 containerFacto
  • 如何在 Google 测量协议中使用广告 ID

    这个帖子很好地回答了 How to get Advertising ID in android 这个问题 but not how使用它 我想知道what is the 范围用于 Google 测量协议 将该广告 ID 传输到 Google
  • Python 的 argparse 选择限制打印

    目前我希望Python的argparse模块只打印出 1 65535 而不是 1 2 3 65535 但文档似乎没有提供任何方法 有什么建议么 您可以通过设置来更改默认格式的方式formatter class option 我会子类化帮助格
  • 未能在单元测试中包含 system.web.http?

    我目前正在尝试进行单元测试ApiController我创造了 我绊倒的是 由于某种原因我无法 使用 System Web Http 在我的主要项目中 虽然我可以使用using没有任何问题 因此使用IHttpActionResult 现在我不
  • 用于可视化或过滤 P 值的整洁 chisq.test 输出的函数

    对于数据 library productplots library ggmosaic 对于代码 library tidyverse library broom 我正在尝试创建整洁的 chisq test 输出 以便我可以轻松过滤或可视化 p
  • ProgressDialog 直到函数完成后才显示

    我试图在加载一些数据时显示旋转进度 但直到加载数据后才显示 我正在尝试这样做 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState
  • 如何在 Scala 中分析方法?

    分析 Scala 方法调用的标准方法是什么 我需要的是一个方法的钩子 我可以用它来启动和停止计时器 在Java中 我使用切面编程aspectJ来定义要分析的方法并注入字节码来实现相同的目的 Scala 中是否有一种更自然的方法 我可以定义一
  • GetElementByID() 的实现是什么?

    有人可以向我解释一下 HTML getElementById 方法的内部实现吗 它是遍历整个 DOM 树来查找指定的元素 还是足够智能地首先查找附近的元素 谢谢 该实现完全 呃 依赖于实现 有些浏览器可能使用哈希图或类似的 也可能不使用 因
  • 有没有一个好的Python库可以解析C++? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 谷歌没有发现任何看起来相关的东西 我有一堆现有的 可工作的 C 代码 我想使用 python 来爬行它并找出类之间的关系等 编辑 只是想指出 我认为
  • 如果我将感叹号放入变量名中,PHP 会出现奇怪的行为

    PHP 本身有我见过的最奇怪的问题 Setup IIS 下的 PHP 5 33 也尝试过 PHP 5 2 14 Problem 一旦我将感叹号放入会话数组中的键中 PHP 就会删除所有会话数据 Example 会话1 php session
  • FULL_SCREEN_INTERACTIVE 模式:“允许”按钮点击传递给应用程序

    在 AS3 游戏 使用 Flex 4 10 0 中 我希望允许玩家聊天 即使他们在在全屏模式下 所以我使用以下 ActionScript 代码 fullBox复选框会在我的网络应用程序中触发全屏模式 public function init