我的 Cocos2D-iPhone 游戏可以支持 VoiceOver 吗?

2024-02-16

我正在制作一款游戏,玩家通过动作对声音做出反应 - 由于玩游戏不需要视觉元素,而且许多人都是闭着眼睛玩的,所以不完全兼容 VoiceOver 似乎很遗憾。我目前正在使用 Cocos2D-iPhone 和 CocosDenshion 来处理音频,现在我开始考虑如何构建我的菜单系统来选择级别和配置控件。

在 Cocos2D 的菜单系统中支持 VoiceOver 是否相当容易,或者我应该考虑尝试在我没有使用经验的 UIKit 中创建菜单?


我不知道 Cocos 的菜单系统是否支持 VoiceOver,但如果不支持,你可能可以自己添加你正在寻找的功能,而不必深入研究很多UIKit工作。您需要做的就是创建一个UIView当您的应用程序启动时,该子类会添加到您的主窗口。然后使用UIAccessibilityContainer协议和UIAccessibilityPostNotification允许用户通过 VoiceOver 与您的游戏进行交互的调用。

The UIAccessibilityContainer协议可让您告知 VoiceOver 当前屏幕上有哪些界面元素、它们的标签、特性等。然后,VoiceOver 使用此信息让用户在元素之间滑动并获取有关它们的反馈。

当您的游戏改变状态时,您可以更改该协议发回的内容,然后发出

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,零)

...通知 VoiceOver 屏幕布局已更改。如果只是通过 VoiceOver 说出一些内容,比如当您的游戏状态发生变化时,您可以发送不同的通知来说出一些文本:

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"成就解锁!");

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 Cocos2D-iPhone 游戏可以支持 VoiceOver 吗? 的相关文章

  • 错误:更改核心数据模型后架构armv7的重复符号

    我有一个使用核心数据框架的应用程序 我工作得很好 我刚刚更改了数据模型 向一个实体添加一个属性 当我尝试构建它时 出现错误 duplicate symbol OBJC METACLASS AccountFolder in Users XXX
  • 我怎样才能勾勒出文本字体?

    我想在边框 轮廓 中显示另一种颜色的文本 我正在尝试使用在 MapOverlayView 中显示文本 text drawAtPoint CGPointMake 0 30 withFont UIFont fontWithName Helvet
  • UICollectionView 拖放文件夹创建

    我正在使用 UICollectionView 创建 iOS 画廊应用程序 我希望用户能够拖放图像来重新排序图库并创建文件夹 类似于 iPhone 上的主屏幕 我发现了以下内容tutorial http nshint io blog 2015
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • Swift C 回调 - Swift 类指针的 takeUnretainedValue 或 takeRetainedValue

    我有一些UIView or UITableViewCell 里面我有 C 回调 例如 CCallback bridge self observer data gt Void in let mySelf Unmanaged
  • IPV6 快速可达性

    我是 swift 和 xcode 的新手 并且我的应用程序因 IPV6 而被拒绝 性能 2 1 当我们执行以下操作时 您的应用程序会在运行 iOS 9 3 5 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃 具体来说 当我们
  • iOS 13 beta 外部屏幕上的 OverscanCompensation

    我正在测试一个应用程序的测试版 但遇到了外部屏幕的问题 我们看到应用程序周围有黑色边框 我们之前可以通过设置来纠正它overscanCompensation to none但在 iOS 13 中 该设置根本没有任何效果 我们曾经看到一个错误
  • 仅将 UIImage 移动到另一个 UIImage 内部

    I have an UIImage which is shown in an UIImageView I also have another image in an UIImageView which lays above the firs
  • IOS7 状态栏在选定控制器上隐藏/显示

    我想在某些控制器上显示和隐藏状态栏 这可以完成吗 或者它更像是一个整体应用程序设置 我看过很多关于 plist 更新的帖子 问题 View controller based status bar appearance NO 如果这完成了 那
  • 在 iOS5 中使用 UISegmentedControl 切换 ViewController

    我正在尝试一些非常简单的事情 但不知何故我无法让它发挥作用 我尝试做的就是使用 UISegmentedControl 在 2 个视图控制器之间切换 就像您可以在 App Store 应用程序的 突出显示 选项卡中看到的那样 我正在使用 iO
  • 我可以更改键盘方向吗?

    例如我用这段代码关闭自动旋转 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation return NO BOOL sh
  • Xcode 无法找到 strip-frameworks.sh 目录

    我最近将 Xcode 更新到版本 7 1 其中包括 Swift 2 1 我安装了 Swift 2 1 没有遇到任何问题 在尝试运行我的项目后 我意识到我需要获取最新版本的 Realm 因为之前的版本不支持 Swift 2 1 我删除了旧框架
  • ViewWillAppear 没有被 UISplitViewController 调用

    背景和目标 我有一个基于 UISplitViewController 的 iPad 应用程序 到目前为止它支持 4 个方向 但现在我想将其锁定为仅横向 我变了shouldAutorotateToInterfaceOrientation左视图
  • 尝试复制文件时出错

    我正在尝试使用 NSFileManager 将临时文件复制到另一个位置 但是它失败并抱怨其中一个文件不存在 Copy temp file NSError error BOOL exists fileManager fileExistsAtP
  • iOS Storyboards 我应该使用它们吗? [复制]

    这个问题在这里已经有答案了 我是 iOS 开发新手 尚未创建应用程序 但我向我的朋友寻求建议 他在市场上拥有非常高评价的应用程序 他说不要使用故事板 尽管我很想听取他的建议 但它们似乎确实很有帮助 这是否会在将来给我的应用程序带来问题 我有
  • 带有 Core Data 对象的动态 UITableView 高度

    过去几天我一直在试图解决一个谜团 即为什么我的批处理大小为 20 的 NSFetchedResultsController 总是在获取完成后立即错误 即加载到内存中 我的所有对象 从而导致请求需要约 20 秒 事实证明 这是因为在我的 he
  • 在 Flutter 中显示 iOS 的 PDF 内联文件

    我正在 flutter 中专门为 iOS 开发一个应用程序 现阶段 我需要向其中添加 PDF 文件 问题是 flutter 没有原生的方式来显示 PDF 文件 据我研究 由此tread https github com flutter fl
  • 是什么导致了这个 iPhone 崩溃日志?

    我有点卡住了 需要解决这个问题 因为我的一个应用程序出现了随机崩溃 而这些崩溃并不总是能够重现 这是崩溃日志之一 Incident Identifier 59865612 9F00 44EA 9474 2BF607AD662E CrashR

随机推荐

  • NSDateFormatter 谜题!这是新的山狮虫吗?

    我相信我可能发现了一个错误NSDateFormatter 我不确定这是否本地化为在系统偏好设置中指定了巴西时区 完整的项目在这里 http www idanfe com dl nsDateFormatterPuzzle zip http w
  • 文本描边(-webkit-text-lines)css问题

    我正在使用 NextJs 和 TailwindCSS 开发一个个人项目 完成项目后 我使用私人导航器来查看进度 但似乎笔画没有按应有的方式工作 我在除 Chrome 之外的所有浏览器中都遇到了这种情况 这是我得到的 这是所需的行为 Code
  • ASP.NET 开发服务器未更新对标记/代码的更改

    我最近一直在开发 ASP NET 开发服务器 在一个 MVC 项目中 我发现它在如何服务于我对代码所做的更改方面不一致 例如 我对 C 在开发环境中运行 HTML CSS JS 并运行页面 更改会出现在屏幕上 但是如果我再次编辑 HTML
  • 何时使用 C++11 互斥锁、锁、unique_lock、shared_lock 等

    有什么区别shared lock and shared mutex lock shared 除此之外的析构函数shared lock解锁关联的互斥体 Is a shared mutex我可以使用的唯一互斥类shared lock 为什么有人
  • xcode4模板格式问题

    xcode4 使用新的项目模板格式 xctemplate 使用现有模板 我可以获得所需的一切 除了将文件添加到项目中而不复制它 我需要从我的模板创建的所有项目都使用共享资源 这样我就可以一次更新所有项目 只更新一个文件 谢谢 您是否尝试从模
  • RawImageInputStream 的 JAI ImageIO NoClassDefFoundError

    我对这个问题很困惑 我在 jai imageio core 上使用 1 3 0 版本 请检查下面的依赖项 我完全无法从 jar 中弄清楚如何在 JVM 中加载一个类文件 RawImageReaderSpi 但未加载 RawImageInpu
  • Azure Application Insights 中的用户代理信息

    有谁知道为什么 Application Insights 在 NET 应用程序中实现时不会收集用户代理信息 但能够收集浏览器上的统计信息 我希望能够过滤掉针对特定用户代理字符串的请求 但看起来我无法看到具有任何可用数据 表的用户代理 对于
  • iPhone - 图像叠加MapKit框架?

    我可以看到 使用 iOS4 您现在可以在谷歌地图上平铺图像 一直在查看苹果的 TileMap 示例 这很棒 因为这就是我想要做的 但从我所看到的来看 我需要知道图像的 GEO 参考 以便我可以使用适当的缩放级别等对图像进行光栅化 我拥有的是
  • 将图片保存到媒体库中的自定义文件夹

    WhatsApp 现在将图片保存到媒体库中名为 WhatsApp 的自定义文件夹中 WhatsApp 是否使用未记录的 API 或者每个开发人员都可以这样做吗 现在我只知道可以将图片保存到 相机胶卷 或 保存的图片 中 WhatsApp 似
  • 使用 ”。” zend validator float 中的小数

    我有一个表单 其中包含一个名为 价格 的元素 我使用 float 验证器验证此元素 问题是当我插入时 例如 12 50 gt 它是有效的 但是当我尝试将其保存在数据库 mysql 上时 它被保存为 12 00 所以我想将小数字符从 更改为
  • 替换 Eclipse 中所有文件中的字符串[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在当前项目的所有文件中搜索并替换字符串 假设我有字符串 sites default 现在我希望它是 public sites defa
  • PHP glob() 列出不以下划线开头的文件?

    标准的 glob 函数用法如下 dir glob txt foreach dir as filename echo filename size filesize filename n 使用 作为通配符 但是有没有办法否定它以忽略任何以下划线
  • Google 地图 V3 不会删除事件侦听器

    我在使用 Google 地图 API v3 时遇到问题 我试图在缩放更改时删除鼠标悬停侦听器 这是我的代码 document ready function var myOptions var map new google maps Map
  • Android LruCache(Android 3.1)线程安全

    是新的Android类LruCache http developer android com reference android util LruCache html线程安全 java 文档说 这个类是线程安全的 通过在缓存上同步以原子方式
  • 用Qt等待一个SLOT完成执行

    在我的代码中我发出一个信号mySignal我想等待连接的插槽结束mySlot在继续之前执行 emit mySignal Wait for the end of mySlot execution Some code that has to b
  • 使用 CLASSIC ASP 将数据返回到 jsonp 调用

    我已经浏览了 stackoverflow 上的帖子 但似乎找不到我要找的东西 如果我这样做 表格 ajaxSettings dataType jsonp get http MYREMOTESERVER com GetCustNewID as
  • C# 检查网络状态

    如何检查我是否有开放的网络连接并且可以联系 C 中的特定 IP 地址 我在 VB Net 中见过示例 但它们都使用 My 结构 谢谢 如果您只想检查网络是否正常 请使用 bool networkUp System Net NetworkIn
  • 为什么“rails runner -e production”不起作用?

    为了解决我的问题 该问题在 生产中的 will paginate 错误未定义方法 paginate https stackoverflow com questions 19577344 will paginate error in prod
  • 如何使用查找和替换在 Xcode 中用单个新行替换多个新行

    在Xcode项目中 我们编写程序时一般不会关注行间距 那么编码完成后 如何用一行删除所有多余的换行符呢 在文本搜索字段中 可以使用以下方法进行多行 非打印字符 搜索 替换 假设我想替换所有实例 This is a comment with
  • 我的 Cocos2D-iPhone 游戏可以支持 VoiceOver 吗?

    我正在制作一款游戏 玩家通过动作对声音做出反应 由于玩游戏不需要视觉元素 而且许多人都是闭着眼睛玩的 所以不完全兼容 VoiceOver 似乎很遗憾 我目前正在使用 Cocos2D iPhone 和 CocosDenshion 来处理音频