0

私はRubyを使用しており、もちろん、ChipmunkおよびChingu / GosuゲームライブラリへのRubyバインディングを使用しています。構文が違うようですが、それ以外はシマリスCと同じだと思います。床を作るにはどうすればよいですか?私は次のことを試しました:

space = CP::Space.new
space.damping = 0.9
space.gravity = CP::Vec2.new(0, 50)
body = CP::StaticBody.new
shape_array = [CP::Vec2.new(0, 400), CP::Vec2.new($window.width, 400), CP::Vec2.new($window.width, 390), CP::Vec2.new(0, 390)]
shape = CP::Shape::Poly.new(body, shape_array, CP::Vec2.new(0,0))
shape.collision_type = :floor
space.add_body(body)
space.add_shape(shape)

何が起こるかというと、オブジェクトが床にぶつかり、ほんの一瞬揺れ、それからすぐに通り抜けます。私は彼らが床に着陸することを望みます、多分少し跳ね返ることさえあります(オブジェクトに依存します)。しかし、床を通り抜けないでください。どうすればよいですか?

4

1 に答える 1

1

これを機能させるには、次の行を削除する必要がありました。

space.add_body(body)

静的ボディをスペースに追加することはできません。

于 2012-10-15T19:13:51.327 に答える