だから私は描画メソッドで円を作成しました:
glLineWidth(16);
glColor4ub(0, 255, 0, 255);
drawCircle( ccp(s.width/2, s.height/2), 100, 0, 10, NO);
この形をアニメーションで長方形に変換できるかどうか知りたいのですが。ありがとうございました 。私の英語でごめんなさい私はフランス語です:/
だから私は描画メソッドで円を作成しました:
glLineWidth(16);
glColor4ub(0, 255, 0, 255);
drawCircle( ccp(s.width/2, s.height/2), 100, 0, 10, NO);
この形をアニメーションで長方形に変換できるかどうか知りたいのですが。ありがとうございました 。私の英語でごめんなさい私はフランス語です:/
簡単にするために、4つの立方ベジェ曲線(円の象限ごとに1つの曲線)を使用します。(これは完全な円ではありませんが、100セグメントの円でもありません!)次に、cocos2dが提供する機能を使用して、曲線の始点と終点に垂直または水平に並ぶまで、時間の経過とともに各曲線の制御点schedule:
を徐々に移動します。 。これにより、曲線が4本の直線に変わります。長方形です。
まあ、正確には正方形。また、4つの曲線すべての始点と終点を移動して、正方形ではない長方形を形成する必要がありますが、私が望むアイデアは得られますか?
追加情報については、次のリンクを参照してください。
ccDrawCubicBezier
--- http://www.cocos2d-iphone.org/api-ref/2.0.0/_c_c_drawing_primitives_8h.html#a5a391711c0aa611a06167bdd7637571f schedule:
サンプルコード-http ://www.cocos2d-iphone.org/wiki/doku.php/prog_guide: lesson_2._your_first_game#making_things_move編集:画像を追加
d =次の方程式から計算されたd値: http ://www.cgafaq.info/wiki/Bezier_Circle
start、 control 1、 control 2、およびendは、cocos2dで3次ベジェ曲線を作成するために必要な4つのポイントです。
このためのコードを作成する必要があります。
たとえば、円の周りにいくつかのコントロールポイントを作成できます。これらの各コントロールポイントは、3つのポイントで構成できます。円上の2つのポイントを表す2つのポイントと、2つのポイントの間に引かれた線の曲線を制御する1つのポイント。次に、カーブ上のコントロールポイント間のモーションをアニメートして、長方形のコントロールポイントになるように移動すると同時に、3番目のコントロールポイントのモーションをアニメートして、エッジをカーブから直線に変更します。