我可以在我的Cocos2D-iPhone游戏中支持VoiceOver吗?
我正在制作一个游戏,玩家通过动作对声音做出反应,因为视觉元素不需要演奏,许多玩家闭着眼睛,所以不能完全兼容VoiceOver。 我目前正在使用Cocos2D-iPhone和CocosDenshion进行audio处理,现在开始考虑如何构build我的菜单系统来select级别和configuration控件。
在Cocos2D的菜单系统中支持VoiceOver是否合理,或者我应该尝试在UIKit中创build我没有经验的菜单?
我不知道Cocos的菜单系统是否支持VoiceOver,但是如果不支持,你可以添加自己想要的function,而不需要深入UIKit
工作。 所有你需要做的是创build一个UIView
子类,当你的应用程序启动时被添加到你的主窗口。 然后使用UIAccessibilityContainer
协议和UIAccessibilityPostNotification
调用来允许用户通过VoiceOver与您的游戏进行交互。
通过UIAccessibilityContainer
协议,您可以通过VoiceOver通知VoiceOver当前屏幕上的界面元素,标签及其特征等。VoiceOver然后使用此信息让用户在元素之间滑动,并获取有关这些元素的反馈。
当你的游戏改变状态时,你可以改变协议发回的内容,然后发出一个
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,nil)
…通知VoiceOver屏幕布局已更改。 只要通过VoiceOver讲话,说你的游戏状态发生了变化,你可以发送不同的通知来说一些文字:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,@“Achievement unlocked!”);
没有必要去与UIKit
框架,你可以去用cocos2d
本地方法和类来实现这一点。
对于声音选项,我们有可以使用的SimpleAudioEngine。 您可以使用ALuint
types的ID来区分声音。
ALuint soundEffectID;
//to start soundEffectID=[[SimpleAudioEngine sharedEngine] playEffect:@"my sound"]; //to stop [[SimpleAudioEngine sharedEngine] stopEffect:soundEffectID];
你必须pipe理这些效果,我认为你的问题将得到解决。