2012-03-27 14 views
4

私は、ビジュアル要素がそれを再生する必要がなく、多くの人が目を閉じて遊んでいるのを見て、VoiceOverに完全に対応していないのは残念です。私は現在、オーディオ用にCocos2D-iPhoneとCocosDenshionを使用しています。レベルを選択してコントロールを構成するためにメニューシステムを構築する方法について考え始めました。私のCocos2D-iPhoneゲームでVoiceOverをサポートできますか?

Cocos2DのメニューシステムでVoiceOverをサポートするのは比較的簡単ですか?使用経験のないUIKitでメニューを作成しようとしていますか?

答えて

4

ココスのメニューシステムでVoiceOverがサポートされているかどうかわかりませんが、そうでない場合は、多くのUIKitの作業を掘り下げることなく、自分で探している機能を追加できます。あなたがする必要があるのは、アプリケーションの起動時にメインウィンドウに追加されるUIViewサブクラスを作成することだけです。次に、UIAccessibilityContainerプロトコルとUIAccessibilityPostNotificationコールを使用して、ユーザーがVoiceOver経由でゲームとやり取りできるようにします。

UIAccessibilityContainerプロトコルを使用すると、現在画面上に表示されているインターフェイスの要素、ラベル、特性などをVoiceOverに知らせることができます。VoiceOverはこの情報を使用して要素間をスワイプし、フィードバックを受け取ります。

あなたのゲームの状態が変化するとき、あなたは画面レイアウトというのVoiceOverを知らせるために...そのプロトコルは返信内容を変更し、その後

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification、ゼロ)

を発行することができます変更されました。 (、UIAccessibilityAnnouncementNotificationを@「達成ロック解除!」)

UIAccessibilityPostNotification;:そして、ちょうどVoiceOverのを経由して何かを話すように、あなたのゲームの状態が変化したとき、あなたには、いくつかのテキストを話すように異なる通知を送ることができると言います

-3

UIKitフレームワークに行く必要はありません。cocos2dネイティブメソッドとクラスを実装することができます。

サウンドオプションについては、使用できるSimpleAudioEngineがあります。 ID番号ALuintのIDを使用してサウンドを区別できます。

ALuint soundEffectID;

//to start 
soundEffectID=[[SimpleAudioEngine sharedEngine] playEffect:@"my sound"]; 
//to stop 
[[SimpleAudioEngine sharedEngine] stopEffect:soundEffectID]; 

あなたはこれらの効果を管理しなければならないと私はあなたの問題が解決すると思います。

+0

SimpleAudioEngineとiOSデバイスでのVoiceOverナビゲーションのサポートは何ですか? – Blixxy

関連する問題