有名なベストセラー「Cut the Rope」
の作成者との
インタビューを読んだ後、彼らはロープの作成に最も時間を費やしたと主張しましたが、「重いスレッド移動アルゴリズム」の作成は本当に難しいとは思いませんでした。物理エンジンを作成します。 グーグル、私はすぐに答えが見つからなかったので、
cocos2D +
Box2Dで自分に似たようなことをしようとすることにし
ました 。
ルールは基礎として採用されました。
- チェーンは、Revolute Jointsで接続された長方形のボディを使用する方が適切です。
- チェーンを構成するオブジェクトが重いほど、より安定しています。
- ステップごとの反復回数-より良い(3で十分でした);
- チェーンのすべての部分が、回転ジョイントに加えて、距離ジョイントで接続されている場合に役立ちます。
その結果、物理世界のオブジェクトのチェーンを取得しました。結果は次の図とビデオで見ることができます。
したがって、Box2Dで重いスレッドを作成することは難しくありませんでした。
グラフィック部分を説明するために残っています。 もちろん、これは、2次ベジェ曲線によって助けられるべきです。そのアルゴリズムは、cocos2DのDrawingPrimitivesで既に実装されています。
曲線を描くためのポイントを見つけるには、私が行った回転ジョイントの接続ポイントを使用できます。 しかし、行われた作業の結果は非常に動揺し、ひどいピクセレーションが発生しました。これは次のグラフィック素材ではっきりと見えます。
残念ながら、OpenGL ES 2.0をサポートせずにcocos2Dでアンチエイリアシングを使用することは不可能であるため(客観的な理由からサポート付きで使用したくありませんでした)、この
方法を使用して不快な影響を排除しました。
その結果、私は完全に満足しました。さらに、私のロープと「Cut the Rope」の違いを長い間研究した後、私はこれに気づきませんでした。 結果は次のとおりです。
したがって、「重いスレッド移動アルゴリズム」を開発するのに14時間もかかりませんでした。
アンチエイリアス線を描画するためのコードが添付されています。
ccDrawingPrimitives.zipここと
ここで使用し
ます 。