Coronaでの加速度取得についての注意点。
「Gravity」はiPhoneの傾きによる重力加速度。
「Instant」は本体をシェイクしたときなどに発生する瞬間的な加速度。
それぞれを扱う際の注意ですが、Gravityは安定的に値が取れますがInstantは瞬間的なので取得のタイミングによって値にかなりの差が出ます。
例えば右から左にムチを振るような動きをした場合、一瞬右方向への加速度が取れた後に左方向の加速度が取れることになります。
そうなると、シェイク初期に取得した値は右向き、終わりあたりに取得した値は左向きと大きな乖離が生じてしまいます。
どの部分の値を取れば一番良いのかはアプリによって違うと思うので調整が必要ですが、ひとまず加速度を扱ううえで上記のような現象があるということで注意しましょう。
Archive for 10 月 22nd, 2011
Corona:「Gravity」と「Instant」の違い
in 未分類
by fujii | 10 月 22nd, 2011
No Comments
Corona:座標調整をいちいち考えなくても多数の解像度に対応したい
in 未分類
by fujii | 10 月 22nd, 2011
ユニバーサル対応のアプリなど、多数の解像度に対応したい場合はconfig.luaで「scale=”zoomStretch”」を設定。
これでiPhoneもiPadも大丈夫。ただしiPhone用の画像だけだとiPadでは粗く見えてしまうため、綺麗に見せたい場合はDynamic Image Resolutionを使って特定解像度用の画像を表示させます。
他にも「letterbox」「zoomEven」などがあります。
簡単に言うと、letterboxは長辺を優先的に合わせる方式。iPhoneの比率を基準にした場合、iPadでは左右幅がちょっと余って黒く表示されます。
zoomEvenは逆に、短編を優先的に合わせる方式。iPhoneの比率を基準にした場合、iPadでは上下が若干画面外にはみ出ます。
一番ありえないのは「scale設定を指定しない、またはnoneにする」ことです。
コレをやってしまうと解像度の違うデバイスごとにいちいち座標を設定したりしないといけないので非常に面倒になります。