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

标签 ios cocos2d-iphone accessibility voiceover

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

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

最佳答案

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

UIAccessibilityContainer 协议(protocol)可让您通知 VoiceOver 当前屏幕上有哪些界面元素、它们的标签、它们的特征等。VoiceOver 然后使用此信息让用户在元素之间滑动并获得有关它们的反馈.

当您的游戏改变状态时,您可以改变该协议(protocol)发回的内容,然后发出一个

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil)

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

UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Achievement unlocked!");

关于ios - 我的 Cocos2D-iPhone 游戏可以支持 VoiceOver 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9899285/

相关文章:

ios - 在 Xcode 4 iPhone 模拟器没有出现

objective-c - [self self] 在 objective c 中是什么意思?

iphone - 将 OpenGL 1.1 代码转换为 OpenGL 2.0

html - 我可以对单个页面中的两个或多个 img html 元素使用相同的值 alt ="name"吗?

ios - AVCaptureSession 添加输入 : not working with iOS7

ios - iOS 中的 Admob 集成错误( undefined symbol )

ios - setScaleX/setScaleY (Cocos2D)

javascript - 告诉屏幕阅读器页面已在 Backbone/Angular 单页应用程序中更改

iphone - 虚拟乐器 iPhone 应用程序中的 VoiceOver 辅助功能?

ios - 是延迟 dismissModalViewControllerAnimated 的方法吗?