2012-04-12 9 views
2

私の場合、私はカメラが常に私の性格に従うような2Dゲームを作っていますが、シーンの限界がありますので、彼がシーンの境界の近くにいるときに彼に従うのをやめなければなりません。私もカメラのスケールを扱わなければならないので、CCFollow :: actionWithTarget()またはCCCameraのどちらを使用するかを決める必要があります。 CCCamera.hでcocos2dで "CCCamera"の代わりに "CCFollow"を使用するのはなぜですか?

それは言う:

制限事項:

- Some nodes, like CCParallaxNode, CCParticle uses world node coordinates, and they won't work properly if you move them (or any of their ancestors) 
using the camera. 

- It doesn't work on batched nodes like CCSprite objects when they are parented to a CCSpriteBatchNode object. 

- It is recommended to use it ONLY if you are going to create 3D effects. For 2D effecs, use the action CCFollow or position/scale/rotate. 

ONLY 3D効果でそれを使用する理由最後の文は、面白いですか? CCCameraはそのプロデューサーによって推奨されていないようです。私はそれがカメラの動きを扱うためのショートカットだと知っていますが、2Dゲームでそれを使用しない方がいい理由はわかりません。

+0

は、あなたがこれを明確にする人を見つけることがありますか?私は似たような疑念を持ち、あなたがそれらの疑問を解決したかどうかを知ることは素晴らしいことです。 – mm24

答えて

2

あなたが気付いた場合、CCCamera.hファイルも書かれています:

Useful to look at the object from different views. 
The OpenGL gluLookAt() function is used to locate the 
camera. 

カメラがどのように機能するかについてのOpenGLレッドブックでは良い書き込みアップがあります。私の理解は、カメラは初期オリエンテーションを設定することを意味し、次にモデル行列を更新することで世界を動かすことになります(これはCCFollowがあなたのためにしていると思います)。それでもカメラを使用したい場合に役立つことがあり、ここで答えがあります:

moving CCCamera

関連する問題