1

加速度計を使用するiOSでcocos2dゲームを作成しています。私はiPhone5でテストを始めたばかりですが、何らかの理由で、加速度計のデータが逆になっています。基本的には、画面の向きが実際の状態から180度反転しているように動作し、下に傾けると物が上に送られ、左が右になります。 。

iOS5を実行しているiphone4と、iOS5を実行しているipadとiOS6を実行しているipadの両方で正常に動作します。それがiphone5だけの問題なのか、iOS6を実行しているすべてのiphoneの問題なのかわかりません。

私はこの問題についての言及をオンラインで見つけることができません。他の誰かがこれに遭遇しているかどうか、そしてあなたが解決策を知っているかどうか疑問に思います。

4

1 に答える 1

0

OK私は何が起こっているのか理解しました。iOS 6では、willRotateToInterfaceOrientationメソッドは非推奨になり、呼び出されなくなりました。そこに2つのことを行うコードがありました。電話が読み込まれている横向きを検出し、それに応じて変数を調整することと、ゲームプレイ中に電話が向きを反転させないようにすることです(これは傾斜して移動するゲームです)。ビューが逆さまになっているようにすべてが動作していた理由は、逆さまになっていて、電話の向きがロックされていて、それを修正するためのコードが呼び出されていなかったためです。 これがAppleがwillRotateToInterfaceOrientationについて言っていることです

willRotateToInterfaceOrientation:duration:、willAnimateRotationToInterfaceOrientation:duration :、およびdidRotateFromInterfaceOrientation:メソッドは、たとえばpresentViewController:animated:completion:を呼び出すことによって、それ自体でフルスクリーンプレゼンテーションを行うビューコントローラーで呼び出されなくなりました。アプリがサブビューのレイアウトを管理するためにこれらのメソッドを使用していないことを確認する必要があります。代わりに、ビューコントローラのviewWillLayoutSubviewsメソッドを使用し、ビューの境界矩形を使用してレイアウトを調整する必要があります。

ここで、willLayoutSubviewsメソッドを使用して元の機能を複製する方法を理解する必要があります。

于 2012-09-30T18:08:03.750 に答える