1 from panda3d
.core
import TransformState
2 from panda3d
.bullet
import BulletCylinderShape
, YUp
, ZUp
3 from pmachines
.items
.item
import Item
6 class TeeterTooter(Item
):
8 def __init__(self
, world
, plane_node
, cb_inst
, curr_bottom
, repos
, json
, model_scale
=1, mass
=1, pos
=(0, 0, 0), r
=0, count
=0, restitution
=.5, friction
=.5):
9 super().__init
__(world
, plane_node
, cb_inst
, curr_bottom
, repos
, 'assets/models/bam/teeter_tooter/teeter_tooter.bam', json
, model_scale
=.5, exp_num_contacts
=2, mass
=mass
, pos
=pos
, r
=r
, count
=count
, restitution
=restitution
, friction
=friction
)
11 def _set_shape(self
, apply_scale
=True):
12 scale
= self
._model
_scale
if apply_scale
else 1
14 BulletCylinderShape(.1, 1.6, YUp
),
15 TransformState
.makePos((0, 0, scale
* .36)))
17 BulletCylinderShape(.1, .7, ZUp
),
18 TransformState
.makePos((0, scale
* .8, scale
* -.1)))
20 BulletCylinderShape(.1, .7, ZUp
),
21 TransformState
.makePos((0, scale
* -.8, scale
* -.1)))