7

[[CCDirector sharedDirector] convertToGL: touchLoc];私は cocos2d を学び始めています。すでに from がある[touch view]のに、実際になぜ CCDirector から convertToGL を使用するのか疑問に思っていました[touch locationInView: [touch view]];

また、最初に画像を含む CCSprite を「addChild」し、次に本体を設定すると、ccsprite がこの本体のデータ ユーザーになります。代わりに、本体を「addChild」した方がよいでしょうか? それとも特定の目的のためですか?

ありがとう

4

1 に答える 1

12

これは、OpenGL ビュー (EAGLView クラス) が Cocoa Touch とは異なる座標系を使用しているためです。

たとえば、Cocoa Touch の 0,0 位置は左上隅にありますが、OpenGL の 0,0 位置は左下隅にあります。そのため、すべての UIView 座標を「GL に変換」する必要があります。

変換では、現在のデバイスの向きも考慮されます。

于 2011-11-04T17:37:10.330 に答える