「ロープを切る」のようなロープ

有名なベストセラー「Cut the Rope」 作成者とのインタビューを読んだ後、彼らはロープの作成に最も時間を費やしたと主張しましたが、「重いスレッド移動アルゴリズム」の作成は本当に難しいとは思いませんでした。物理エンジンを作成します。 グーグル、私はすぐに答えが見つからなかったので、 cocos2D + Box2Dで自分に似たようなことをしようとすることにしました

ルールは基礎として採用されました。

  1. チェーンは、Revolute Jointsで接続された長方形のボディを使用する方が適切です。
  2. チェーンを構成するオブジェクトが重いほど、より安定しています。
  3. ステップごとの反復回数-より良い(3で十分でした);
  4. チェーンのすべての部分が、回転ジョイントに加えて、距離ジョイントで接続されている場合に役立ちます。




その結果、物理世界のオブジェクトのチェーンを取得しました。結果は次の図とビデオで見ることができます。

画像





したがって、Box2Dで重いスレッドを作成することは難しくありませんでした。

グラフィック部分を説明するために残っています。 もちろん、これは、2次ベジェ曲線によって助けられるべきです。そのアルゴリズムは、cocos2DのDrawingPrimitivesで既に実装されています。

曲線を描くためのポイントを見つけるには、私が行った回転ジョイントの接続ポイントを使用できます。 しかし、行われた作業の結果は非常に動揺し、ひどいピクセレーションが発生しました。これは次のグラフィック素材ではっきりと見えます。

画像





残念ながら、OpenGL ES 2.0をサポートせずにcocos2Dでアンチエイリアシングを使用することは不可能であるため(客観的な理由からサポート付きで使用したくありませんでした)、この方法を使用して不快な影響を排除しました。

その結果、私は完全に満足しました。さらに、私のロープと「Cut the Rope」の違いを長い間研究した後、私はこれに気づきませんでした。 結果は次のとおりです。

画像





したがって、「重いスレッド移動アルゴリズム」を開発するのに14時間もかかりませんでした。

アンチエイリアス線を描画するためのコードが添付されています。

ccDrawingPrimitives.zip



ここここで使用します



All Articles