0

「walk_left」、「walk_right」など、さまざまなアクションに対応する人のフレームを含むスプライト シートがあります。これらのアクションのフレーム数は異なる場合がありますが、各アクション内には他のオブジェクトとの衝突を検出したいスプライトの特定の領域。

これらのアクションごとに複雑なボディを設定する方法はありますか? "walk_left" の複雑なボディには、"walk_right" とは異なる座標にある複雑なボディが含まれている可能性があることに注意してください。

ヘルプや例は役に立ちますか?

これが役立つ場合は、コードを提供できます。

4

1 に答える 1

0

そのような場合に私が実際に行うことは、アニメーションごとに 1 つずつ複数の「キャラクター」を作成し、必要に応じてその場で切り替えることです...

これで、1 つの newSprite に walk_left アニメーションがあり、コリジョンが必要な場所にあり、もう 1 つの walk_right など...

Box2D を使用すると、一度にすべてを移動する必要があることに注意してください (Box2D は、オブジェクトを突然移動することを嫌います)。

Box2D を使用せず、衝突を自分で処理している場合は、同じオブジェクトにアニメーションごとに 1 つずつ衝突をいくつか作成し、object.getSequence を使用してどのアニメーションが再生されているかを確認し、必要な衝突を使用します。

local currentCollision = object.collision[object.getSequence]
于 2012-10-03T12:06:49.810 に答える