私は、プレイヤーがレンズ (虫眼鏡など) を通して平面 (壁など) を見られるようにする必要があるゲームに取り組んでいます。ゲームは iPhone で実行する予定なので、Core Animation または OpenGL ES を選択します。
私の最初のアイデア (まだ試していません) は、Core Animation を使用してこれを行うことです。
- CALayers を使用して壁とその上にオブジェクトを作成します。
- CALayer の
renderInContext:
方法を使用して、背景レイヤーとして壁の画像を作成します。 - 画像をレンズの形にトリミングして拡大し、背景の上に描画します。
- その上にレンズ枠と「光るガラス」レイヤーを描きます。
ノート:
- 私は OpenGL よりもコア アニメーションに精通しているので、OpenGL でこれを行うにはもっと良い方法があるかもしれません。(教えてください!)
- ビューにアタッチされていない CALayer を使用している場合、すべてのアニメーションを自分で管理する必要がありますか? または、それらを手動で実行する簡単な方法はありますか?
- 3D 視点は重要ではありません。平らな壁を拡大しているだけです。
- 上記のすべてを行うと、スムーズなアニメーションには遅すぎるのではないかと心配しています。
これを書くために多くのコードをコミットする前に、私の質問は、上記の計画に落とし穴があるかどうか、またはこれを行うためのより簡単な方法をお勧めできますか?