基本的な Xcode テンプレート プロジェクトを使用しています。HelloWorldLayer では、正方形の CCSprite を位置 CGPointZero の子ノードとして追加しています。また、位置 CGPointZero を持つ CCLayerColor サブクラスを子ノードとして追加しています。描画されると、スプライトの中心点が画面の左下隅に揃えられます。ただし、レイヤーの左下隅は画面の左下隅に揃えられています。
スプライトとレイヤーの配置が異なるのはなぜですか? 両方の位置が (0,0) に設定されているため、両方の中心点が画面の左下隅に揃えられると思います。
編集 - 詳細: スクリーンショットが判読しにくい場合は申し訳ありません。スプライトは icon-small-50.png を使用しています。レイヤーのコンテンツ サイズは (100,100) に設定されています。注: レイヤーの位置を (10,10) に設定して、左下隅が実際に画面の左下隅に揃えられるようにしました (位置が (0,0) の場合)。
編集 - 詳細情報: CCNode.h でこれに気付きました:
// If YES, the Anchor Point will be (0,0) when you position the CCNode.
// Used by CCLayer and CCScene
BOOL ignoreAnchorPointForPosition_;
それがそれを説明していると思います。