Как создать пол с библиотекой Chipmunk

Я использую Ruby и, конечно же, привязки Ruby к Chipmunk, а также Chingu/игровые библиотеки Gosu. Похоже, синтаксис отличается, но в остальном я предполагаю, что он такой же, как у Chipmunk 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)

Что происходит, так это то, что объекты падают на пол и как бы покачиваются в течение доли секунды, а затем проходят насквозь. Я хочу, чтобы они приземлились на пол, может быть, даже немного подпрыгнули (в зависимости от объекта). Но не пройти сквозь пол. Как мне это сделать?


person at.    schedule 09.10.2012    source источник


Ответы (1)


Чтобы это работало, мне пришлось удалить строку:

space.add_body(body)

Статические тела не могут быть добавлены в пространство.

person at.    schedule 15.10.2012