2011-07-07 7 views

答えて

5

あなたのコードでは、スプライトを作成し、親の中にそれを配置しますへのスプライトの位置については明らかではありませんよノードの左下隅がccp(player.contentSize.width/2, winSize.height/2)になるようにします。

なぜあなたのスプライトがあなたが指定した座標の中心にないのか疑問があるなら、答えはスプライトの中心ではなく、配置されている左下隅です。

あなたはこのように、スプライトのanchorPointプロパティを定義することで、この動作を微調整することができます。

player.anchorPoint = ccp(0.5,0.5); 
player.position = ... 

EDIT:

あなたがの「重心」とアンカーポイントと考えることができますスプライト:テクスチャがその周囲に集中しています。スケーリングや他の種類の変形は、それに対する相対的なものになります。

アンカーポイントが(0,0)に設定されている場合は、左下隅と一致します(デフォルト)。それが(0.5、0.5)ならば、スプライトの真ん中にあります(幅50%、高さ50%)。その座標はポイントではなく、スプライト内の相対変位です。座標は0.0から1.0になります。

+0

明確ではありません...... –

+0

正確にはわからないことを少し説明できますか? – sergio

+0

ccp関数が行っていること –

関連する問題