2012-02-08 7 views
4

私は、スクリーン上のランダムな場所に泳ぐアプリ​​用の魚を作成しています。魚が次の位置に向かって泳ぎ始める前に、魚はその開始点と目標点との間の角度に回転する。レイヤーに追加した後に横にCCSpriteを反転させる

私が理解しようとしているのは、if (target.x < start.x)です。スプライトを水平方向に反転する必要があります。

問題は、私が層にスプライトとaddChildを作成した後、私は[sprite setFlipX]を使用してスプライトのflipXプロパティを設定することはできません。

スプライトがレイヤーに追加された後、setFlipXがロックされていますか?どうすればこの問題を回避できますか?私の唯一の解決策はアニメートですか?

+0

FlipXがロックされているとは思わなかった。 – Almo

+0

スプライトがレイヤーに追加された後、テクスチャを反転させることはありません。 –

+0

本当ですか?通常、Cocos2dはそのようなことを読み取り専用にします。 – Almo

答えて

5

は、使用:あなたはこれをやった

sprite.scaleX *= -1.f; 

した後、それはscaleX == scaleYの主張を含んでいるとして、あなたはより多くの任意のプロパティsprite.scaleを使用しないでください。

3

は-1にscaleXプロパティを設定することによって、それを反転してみてください。

sprite.scaleX = -1; 

また、ノードが子として追加された後、それは価値がある何のために、あなたはflipXのブール値を設定することができるはずです。あなたができなければ、何か他のことが起こっているはずです。反転し、以前のスケーリングを維持するために

+1

これは以前に行われていたスケーリングを保持しません。 –

関連する問題