class SK::CircleCollider
Attributes
friction[RW]
radius[RW]
restitution[RW]
shape[RW]
Public Class Methods
new(radius)
click to toggle source
# File lib/shirokuro/standard_components/physics/circle_collider.rb, line 6 def initialize radius @radius = radius @friction = 0.4 @restitution = 0.1 end
Public Instance Methods
start()
click to toggle source
# File lib/shirokuro/standard_components/physics/circle_collider.rb, line 12 def start rigid_body = get_component(RigidBody) if rigid_body == nil raise "RigidBody required for BoxCollider" end @shape = CP::Shape::Circle.new(rigid_body.body, @radius, CP::Vec2.new(0, 0)) @shape.u = @friction @shape.e = @restitution # recalculate inertia rigid_body.body.i = CP.moment_for_circle(rigid_body.body.m, @radius, @radius, CP::Vec2.new(0, 0)) physics.space.add_shape(@shape) end