4

画面上のランダムな場所に泳ぐアプリ​​の魚を作成しています。魚が次の場所に向かって泳ぎ始める前に、開始点と目標点の間の角度まで回転します。

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

問題は、スプライトを作成addChildしてレイヤーに追加した後、を使用してスプライトのflipXプロパティを設定できないこと[sprite setFlipX]です。

スプライトがレイヤーに追加された後、setFlipX はロックされますか? どうすればこれを回避できますか? アニメーション化する唯一の解決策はありますか?

4

2 に答える 2

5

以前のスケーリングを反転して保持するには、次を使用します。

sprite.scaleX *= -1.f;

これを行った後sprite.scaleは、 のアサーションが含まれているため、プロパティを使用しないでくださいscaleX == scaleY

于 2012-02-09T12:36:25.417 に答える
3

scaleX を -1 に設定して、反転してみてください。

sprite.scaleX = -1;

また、ノードが子として追加された後、flipX ブール値を設定できるはずです。できない場合は、何か他のことが起こっている必要があります。

于 2012-02-08T18:43:38.443 に答える